파이썬: 라이브러리

Ju_Nik_e·2023년 4월 26일

PYTHON

목록 보기
7/9

표준 라이브러리

  • 파이썬 설치 시 자동으로 설치되는 라이브러리

datetime.date

  • 날짜를 표현할 때 사용
>>> import datetime
>>> day1 = datetime.date(2019, 12, 14)
>>> day2 = datetime.date(2021, 6, 5)

두 날짜의 차이 구하기

>>> diff = day2 - day1
>>> diff.days
539

요일 구하기

>>> import datetime
>>> day = datetime.date(2019, 12, 14)
>>> day.weekday()
5
  • 0: 월요일 ~ 6: 일요일

time

time.time()

  • 현재 시간을 실수 형태로 리턴
  • 1970년 1월 1일 0시 0분 0초를 기준으로 지난 시간을 초 단위로 리턴
>>> import time
>>> time.time()
988458015.73417199

time.localtime

  • time.time()이 리턴한 실수 값을 이용해 연,월,일,시,분,초의 형태로 변환
>>> time.localtime(time.time())
time.struct_time(tm_year=2013, tm_mon=5, tm_mday=21, tm_hour=16,
    tm_min=48, tm_sec=42, tm_wday=1, tm_yday=141, tm_isdst=0)

time.asctime

  • time.localtime에 의해 반환된 튜플 형태의 값을 인수로 받아 날짜와 시간을 보기 쉬운형태로 리턴
>>> time.asctime(time.localtime(time.time()))
'Sat Apr 28 20:50:20 2001'

time.ctime

  • 위 함수를 간편하게 사용가능
>>> time.ctime()
'Sat Apr 28 20:56:31 2001'

time.strftime

time.strftime('출력할 형식 포맷 코드', time.localtime(time.time()))
  • 시간에 관계된 것을 세밀하게 표현하는 여러 가지 포맷 코드를 제공
>>> import time
>>> time.strftime('%x', time.localtime(time.time()))
'05/01/01'
>>> time.strftime('%c', time.localtime(time.time()))
'05/01/01 17:22:21'

time.sleep

  • 주로 루프 안에서 사용하며, 일정한 시간 간격을 두고 루프 실행 가능
import time
for i in range(10):
    print(i)
    time.sleep(1)
  • 1초 간격으로 루프 실행

math

math.gcd

  • 최대공약수 구하기
>>> import math
>>> math.gcd(60, 100, 80)
20

math.lcm

  • 최소공배수 구하기
>>> import math
>>> math.lcm(15, 25)
75

random

  • 난수를 발생시키는 모듈
>>> import random
>>> random.random()
0.53840103305098674

>>> random.randint(1, 10)
6

>>> random.randint(1, 55)
43

itertools.zip_longest

  • zip()함수와 동일하지만, 길이가 다르더라도 사용가능하며, 빠진 값은 설정한 값으로 채울 수 있음.
import itertools

students = ['한민서', '황지민', '이영철', '이광수', '김승민']
snacks = ['사탕', '초컬릿', '젤리']

result = itertools.zip_longest(students, snacks, fillvalue='새우깡')
print(list(result))
[('한민서', '사탕'), ('황지민', '초콜릿'), ('이영철', '젤리'), ('이광수', '새우깡'), ('김승민', '새우깡')]

itertools.permutation

  • 반복 가능 객체(iterable) 중에서 r개를 선택한 순열을 이터레이터로 리턴
>>> import itertools
>>> list(itertools.permutations(['1', '2', '3'], 2))
[('1', '2'), ('1', '3'), ('2', '1'), ('2', '3'), ('3', '1'), ('3', '2')]

>>> for a, b in itertools.permutations(['1', '2', '3'], 2):
...     print(a+b)
...
12
13
21
23
31
32

itertools.combinations()

  • 순서에 상관없이 조합을 리턴
>>> import itertools
>>> list(itertools.combinations(['1', '2', '3'], 2))
[('1', '2'), ('1', '3'), ('2', '3')]

webbrowser

  • 파이썬 프로그램에서 시스템 브라우저를 호출
import webbrowser

webbrowser.open_new('http://python.org')
  • 이미 열린 브라우저에 원하는 사이트를 열고 싶을 경우
webbrowser.open('http://python.org')

외부 라이브러리

  • 표준 라이브러리 외에 외부 라이브러리르는 pip 도구를 이용해 설치해야함

pip

  • 파이썬 모듈이나 패키지를 설치할 수 있도록 도와주는 도구

pip install

  • pip install SomePackage으로 설치
  • pip install SomePackage==1.0.4 으로 특정 버전을 설치가능
  • pip install --upgrade SomePackage으로 최신 버전 업그레이드 가능

pip uninstall

pip uninstall SomePackage으로 삭제

pip list

  • 설치된 패키지 목록 출력

Faker

  • 테스트용 가짜 데이터 생성하는 라이브러리
>>> from faker import Faker
>>> fake = Faker()
>>> fake.name()
'Matthew Estrada'
  • 한국 이름도 가능
>>> fake = Faker('ko-KR')
>>> fake.name()
'김하은'
>>> fake.address()
'충청북도 수원시 잠실6길 (경자주이읍)'

faker 활용가능 항목

0개의 댓글