광주인력개발원 일일포스팅(메모장)

12주차 수 1108 (라이브러리)

Jumbo96 2023. 11. 8. 18:22
728x90
반응형

자료구조

자료들을 저장하는 여러 가지 구조들을 자료구조(data structure), 또는 데이터구조라 부른다

 

                                                          자료구조

                            ┌───────┌───── │────┐──────┐                

                      수지형         딕셔너리     부울형       세트          시퀀스

     ┌─────── │────────┐                            ───── │───────┐   

정수형      부동소수점형    복소수형                    문자열       리스트          튜플

 

 

시퀀스(sequence)

요소(element)로 구성

요소 간에는 순서가 있다.

시퀀스의 요소들은 번호가 붙어져 있다.

내장 시퀀스(str, bytes, byrearray, list, tuple, range)

 

( 0.1 + 0.2 ) == 0.3

False

0.1 + 0.2

0.30000000000000004

 

동일한 연산을 지원

인덱싱(indexing),  슬라이싱, 덧셈 연산, 곱셈 연산

내장함수 적용가능 : 시퀀스의 길이를 반환하는 len() 함수, 최대값과 최소값을 찾는 max(), min() 함수

 

튜플 패킹

t = ('apple', 'banana', 'grape')

 

파이썬 인터프리터가 자동으로 패킹을 해준다. 

 

튜플 언패킹

(s1, s2, s3) = t

 

enumerate() 사용하기

시퀀스형 데이터에서 인덱스와 엘리먼트를 같이 꺼내준다.

 

fruits = [ "apple",":banana","grape"]

for index, value in enumerate(fruits):

                 print(index, value)

 

## 파이썬 site packages 설치 경로 알아보기

 

터미널 python -m site --user-site 

 

(base) PS C:\Users\user\python_basic>  python -m site --user-site
C:\Users\user\AppData\Roaming\Python\Python311\site-packages
(base) PS C:\Users\user\python_basic>

라이브러리

  • 다른 사람들이 만들어 둔 함수들의 모음.
  • 자주 사용하는 기능을 쉽게 재사용할 수 있고 다른 사람과도 공유…
  • 표준 라이브러리 : 파이썬이 설치 될 떄 자동으로 설치 되는 라이브러리
  • 외부 라이브러리 : 기본 외에 별도로 설치해서 사용하는 라이브러리
  • 외부 라이브러리 설치 : pip install 라이브러리 명, conda install 라이브러리 명
  • 사용법 : import 라이브러리 명
! conda list numpy

# packages in environment at C:\Users\user\anaconda3:
#
# Name                    Version                   Build  Channel
numpy                     1.24.3          py311hdab7c0b_1  
numpy-base                1.24.3          py311hd01c5d8_1  
numpydoc                  1.5.0           py311haa95532_0

!conda install numpy -y

 

from datetime import datetime
from pytz import timezone
from datetime import timedelta
print(datetime.now()) # 현재 날짜 시간 가져옴

2023-11-08 15:26:23.035182

print(datetime.now(timezone('UTC'))) # 타임존 기준 현재 날짜 시간 가져옴

2023-11-08 06:26:23.256839+00:00

x = datetime.now(timezone('Asia/Seoul'))
print(type(x))

<class 'datetime.datetime'>

print(x.year, x.month, x.day, x.hour, x.minute, x.second, x.microsecond)

2023 11 8 15 29 1 712735

print(x.date(), x.time())

2023-11-08 15:29:01.712735

print(x.weekday())

2

0  1  2 3...   6

월화수목....일

x.strftime('%Y년%m월%d일')

'2023년11월08일'

 

파이썬은 help를 이용해서 어떻게 써야할지 알아볼 수 있다.

help('datetime.datetime.strftime')

Help on method_descriptor in datetime.datetime:

datetime.datetime.strftime = strftime(...)
    format -> strftime() style string.

 

x.strftime('%Y/%m/%d/')

'2023/11/08/'

x = datetime.strptime('2023-11-07', '%Y-%m-%d')
x.month

11

x = datetime.strptime('2023년11월07일', '%Y년-%m월-%d일')
 
x.day

8

print(x - timedelta(days=9))

2023-10-30 15:29:01.712735+09:00

9일 빼기

 

from dateutil.relativedelta import relativedelta

조금 더 정확한 라이브러리

print(x - relativedelta(months=2))

2023-09-08 15:29:01.712735+09:00

2개월 뺴기

print(x +relativedelta(years=2))

2025-11-08 15:29:01.712735+09:00

2년 더하기

 

import math
math.pi

3.141592653589793

728x90
반응형