7장부터는 고급편으로 다른 사람이 만든 것을 활용하는 방법을 배우게 됩니다.
파이썬은 모듈이라는 기능을 활용해 코드를 분리하고 공유합니다.
모듈은 여러 변수와 함수를 가지고 있는 집합체로 크게 표준 모듈과 외부 모듈로 나뉩니다.
사용하는 방법은
import 모듈 이름
import.math
모듈에 대한 정보는 파이썬 공식 문서에서 확인할 수 있습니다.
사용하는 방법은
math.sin(x)
x 라디안의 사인(sine)을 반환합니다.
이렇게 사용하는데요.
math.cos(), math.sin(), math.pi처럼 앞에 무언가를 계속 입력해야 하는 것이 귀찮다면 from 구문을 사용할 수 있습니다.
from math import sin, cos, tan, floor, ceil
from math import *
math를 붙이는 것이 싫고, 모든 기능을 가져와 사용하는 것이 목적이라면 * 기호를 사용합니다.
이렇게 모든 모듈을 가져와 사용하다보면 충돌이 나는 경우가 발생하는데요.
as를 사용해서 짧게 만들어 사용할 수 있습니다.
import 모듈 as 사용하고 싶은 식별자
import math as m
m.sin(1)
랜덤한 값을 생성할 때 사용하는 모듈
import random
import random
print("# random 모듈")
# random(): 0.0 <= x < 1.0 사이의 float를 리턴합니다.
print("- random():", random.random())
# uniform(min, max): 지정한 범위 사이의 float를 리턴합니다.
print("- uniform(10, 20):", random.uniform(10, 20))
# randrange(): 지정한 범위의 int를 리턴합니다.
# - randrange(max): 0부터 max 사이의 값을 리턴합니다.
# - randrange(min, max): min부터 max 사이의 값을 리턴합니다.
print("- randrange(10)", random.randrange(10))
# choice(list): 리스트 내부에 있는 요소를 랜덤하게 선택합니다.
print("- choice([1, 2, 3, 4, 5]):", random.choice([1, 2, 3, 4, 5]))
# shuffle(list): 리스트의 요소들을 랜덤하게 섞습니다.
print("- shuffle([1, 2, 3, 4, 5]):", random.shuffle([1, 2, 3, 4, 5]))
# sample(list, k=<숫자>): 리스트의 요소 중에 k개를 뽑습니다.
print("- sample([1, 2, 3, 4, 5], k=2):", random.sample([1, 2, 3, 4, 5], k=2))
# random 모듈
- random(): 0.9667180292767871
- uniform(10, 20): 18.153949827852813
- randrange(10) 4
- choice([1, 2, 3, 4, 5]): 4
- shuffle([1, 2, 3, 4, 5]): None
- sample([1, 2, 3, 4, 5], k=2): [5, 1]
sys모듈
시스템과 관련된 정보를 가지고 있는 모듈
os 모듈
운영체제와 관련된 기능을 가진 모듈
새로운 폴더를 만들거나 폴더 내부의 파일 목록을 보는 일도 모두 os 모듈을 활용해서 처리합니다.
datetime 모듈
날짜, 시간과 관련된 모듈
날짜 형식을 만들 때 자주 사용되는 코드로 구성
# 모듈을 읽어 들입니다.
import datetime
# 현재 시각을 구하고 출력하기
print("# 현재 시각 출력하기")
now = datetime.datetime.now()
print(now.year, "년")
print(now.month, "월")
print(now.day, "일")
print(now.hour, "시")
print(now.minute, "분")
print(now.second, "초")
print()
# 시간 출력 방법
print("# 시간을 포맷에 맞춰 출력하기")
output_a = now.strftime("%Y.%m.%d %H:%M:%S")
output_b = "{}년 {}월 {}일 {}시 {}분 {}초".format(now.year,\
now.month,\
now.day,\
now.hour,\
now.minute,\
now.second)
output_c = now.strftime("%Y{} %m{} %d{} %H{} %M{} %S{}").format(*"년월일시분초")
print(output_a)
print(output_b)
print(output_c)
print()
# 현재 시각 출력하기
2024 년
2 월
4 일
15 시
28 분
36 초
# 시간을 포맷에 맞춰 출력하기
2024.02.04 15:28:36
2024년 2월 4일 15시 28분 36초
2024년 02월 04일 15시 28분 36초
time 모듈
import time
print("지금부터 5초 동안 정지합니다!")
time.sleep(5)
print("프로그램을 종료합니다")
urllib 모듈'URL'을 다루는 라이브러리
# 모듈을 읽어 들입니다.
from urllib import request
# urlopen() 함수로 구글의 메인 페이지를 읽습니다.
target = request.urlopen("https://google.com")
output = target.read()
# 출력합니다.
print(output)