[python] ๋ชจ๋
๐ฑ ํ์ค ๋ชจ๋
- ๋ชจ๋(module): ์ฌ๋ฌ ๋ณ์์ ํจ์๋ฅผ ๊ฐ์ง๊ณ ์๋ ์งํฉ์ฒด
- ํ์ค๋ชจ๋: ํ์ด์ฌ์ ๊ธฐ๋ณธ์ ์ผ๋ก ๋ด์ฅ๋์ด ์๋ ๋ชจ๋
- ์ธ๋ถ๋ชจ๋: ๋ค๋ฅธ ์ฌ๋๋ค์ด ๋ง๋ค์ด์ ๊ณต๊ฐํ ๋ชจ๋
import ๋ชจ๋ ์ด๋ฆ
โถ๏ธ random ๋ชจ๋
- ๋๋ค ํ ๊ฐ์ ์์ฑํ ๋ ์ฌ์ฉ
import random # random ๋ชจ๋์ด๋ผ์ ๋งค๋ฒ ๊ฐ์ด ๋ณํจ
# from random import random, uniform, randrange, choice, shuffle, sample
# from ๊ตฌ๋ฌธ์ ํ์ฉํ์ฌ importํด๋ ๋จ
# random(): 0.0 <= x < 1.0 ์ฌ์ด์ float ๋ฆฌํด
random.random()
>> 0.5671614057098718
# uniform(min, max): ์ง์ ํ ๋ฒ์ ์ฌ์ด์ float ๋ฆฌํด
random.uniform(10,20)
>> 18.627114055572356
# randrange(): ์ง์ ํ ๋ฒ์์ int ๋ฆฌํด
# randrange(max): 0 ~ max
# randrange(min, max): min ~ max
>> randrange(10)
>> 6
# choice(list) : ๋ฆฌ์คํธ ๋ด๋ถ์ ์๋ ์์๋ฅผ ๋๋คํ๊ฒ ์ ํ
random.choice([1,2,3,4,5])
>> 3
# shuffle(list) : ๋ฆฌ์คํธ ์์๋ฅผ ๋๋คํ๊ฒ ์์
random.choice([1,2,3,4,5])
>> 5
# sample(list, k=<์ซ์>) : ๋ฆฌ์คํธ์ ์์ ์ค์ k๊ฐ๋ฅผ ๋ฝ๊ธฐ
random.sample([1,2,3,4,5], k=2)
>> [5,4]
โถ๏ธ datetime ๋ชจ๋
- ๋ ์ง, ์๊ฐ๊ณผ ๊ด๋ จ๋ ๋ชจ๋
import datetime
now = datetime.datetime.now()
print(now.year)
>> 2023
print(now.month)
>> 2
print(now.day)
>> 10
print(now.hour)
>> 16
print(now.minute)
>> 18
print(now.second)
>> 24
today = datetime.datetime.today()
print(today.date())
>> 2023-02-10
โถ๏ธ time ๋ชจ๋
- ์๊ฐ๊ณผ ๊ด๋ จ๋ ๊ธฐ๋ฅ์ ๋ค๋ฃฐ ๋ ์ฌ์ฉ
- ํน์ ์๊ฐ ๋์ ์ฝ๋ ์งํ์ ์ ์งํ ๋ ๋ง์ด ์ฌ์ฉ
import time
print('์ง๊ธ๋ถํฐ 5์ด ๋์ ์ ์งํฉ๋๋ค')
print(time.sleep(5))
print('ํ๋ก๊ทธ๋จ์ ์ข
๋ฃํฉ๋๋ค')
>> ์ง๊ธ๋ถํฐ 5์ด ๋์ ์ ์งํฉ๋๋ค # ์
๋ ฅ๋๊ณ 5์ด ํ์
>> None
>> ํ๋ก๊ทธ๋จ์ ์ข
๋ฃํฉ๋๋ค # ์ถ๋ ฅ
โถ๏ธ urllib ๋ชจ๋
from urllib import request # urllib๋ชจ๋์ request ๊ฐ์ ธ์ค๊ธฐ
# request๋ ๋ชจ๋์ด๋ผ์ request ๋ชจ๋์ urlopen()ํจ์๋ฅผ ๊ฐ์ ธ์ด
# urlopen(): url ์ฃผ์์ ํ์ด์ง๋ฅผ ์ด์ด์ฃผ๋ ํจ์
target = request.urlopen('http://google.com')
output = target.read()
print(output)
โถ๏ธ math ๋ชจ๋
# math ๋ชจ๋์ ๊ณผํ๊ณผ ๊ด๋ จ๋ ๋ชฉ์ ์ผ๋ก ์ฌ์ฉ
# ์น ๊ฐ๋ฐ์์๋ ๊ฑฐ์ ์ฌ์ฉX
import math
# ์ฌ์ธ
math.sin(1)
>> 0.8414709848078965
# ์ฝ์ฌ์ธ
math.cos(1)
>> 0.5403023058681398
# ํ์ ํธ
math.tan(1)
>> 1.5574077246549023
# ๋ด๋ฆผ
math.floor(2.5)
>> 2
# ์ฌ๋ฆผ
math.ceil(2.5)
>> 3
โถ๏ธ from ๊ตฌ๋ฌธ
- ๋ชจ๋์๋ ๋ง์ ๋ณ์์ ํจ์๊ฐ ๋ค์ด ์๋๋ฐ ํ์ฉํ๊ณ ์ถ์ ๊ธฐ๋ฅ๋ง ๊ฐํธํ๊ฒ ์ฌ์ฉํ๊ณ ์ถ์ ๋ from ๊ตฌ๋ฌธ ์ฌ์ฉ
from ๋ชจ๋ ์ด๋ฆ import ๊ฐ์ ธ์ค๊ณ ์ถ์ ๋ณ์ ๋๋ ํจ์
from math import sin, cos, tan, floor, ceil
# ์ฌ์ธ
sin(1)
>> 0.8414709848078965
# ์ฝ์ฌ์ธ
cos(1)
>> 0.5403023058681398
# ํ์ ํธ
tan(1)
>> 1.5574077246549023
# ๋ด๋ฆผ
floor(2.5)
>> 2
# ์ฌ๋ฆผ
ceil(2.5)
>> 3
# ๋ชจ๋ ์ด๋ฆ์ ๋ถ์ด๊ธฐ ๊ท์ฐฎ๊ณ ๋ชจ๋ ๊ธฐ๋ฅ์ ์ฌ์ฉํ๊ณ ์ถ๋ค๋ฉด *
from math import *
# ๋ชจ๋ ๊ธฐ๋ฅ์ ๋ค ๊ฐ์ ธ์ค๋ฉด ์๋ณ์ ์ด๋ฆ์์ ์ถฉ๋์ด ๋ฐ์ํ ์ ์๊ธฐ ๋๋ฌธ์
# from๊ตฌ๋ฌธ์ ์ฌ์ฉํ ๋๋ ํ์ํ ๊ฒ๋ง ๊ฐ์ ธ์์ ์ฌ์ฉํ๊ธฐ
โถ๏ธ as ๊ตฌ๋ฌธ
import ๋ชจ๋ as ์ฌ์ฉํ๊ณ ์ถ์ ์๋ณ์
import math as m
# ์ฌ์ธ
m.sin(1)
>> 0.8414709848078965
# ์ฝ์ฌ์ธ
m.cos(1)
>> 0.5403023058681398
# ํ์ ํธ
m.tan(1)
>> 1.5574077246549023
# ๋ด๋ฆผ
m.floor(2.5)
>> 2
# ์ฌ๋ฆผ
m.ceil(2.5)
>> 3
๐ฑ ์ธ๋ถ ๋ชจ๋
- ์ธ๋ถ ๋ชจ๋์ ๋ง ๊ทธ๋๋ก ์ธ๋ถ์ ์๊ธฐ ๋๋ฌธ์ ์ค์น๋ฅผ ํด์ค์ผ ํจ
- ๋ง์ฝ ์ด๋ฏธ ์ค์นํ ๋ชจ๋์ ํ ๋ฒ ๋ ์ค์นํ๋ค๋ฉด 'Requirement already satisfied'๋ผ๋ ๋ฉ์์ง๊ฐ ์ถ๋ ฅ๋จ
pip install ๋ชจ๋ ์ด๋ฆ
# pip or pip3
โถ๏ธ Beautiful Soup ๋ชจ๋
- ์น ํ์ด์ง ๋ถ์ ๋ชจ๋
- ์คํฌ๋ ํํ ๋ ์ฌ์ฉ
https://beautiful-soup-4.readthedocs.io/en/latest/
Beautiful Soup Documentation — Beautiful Soup 4.4.0 documentation
Non-pretty printing If you just want a string, with no fancy formatting, you can call unicode() or str() on a BeautifulSoup object, or a Tag within it: str(soup) # ' I linked to example.com ' unicode(soup.a) # u' I linked to example.com ' The str() functio
beautiful-soup-4.readthedocs.io
โถ๏ธ Flask ๋ชจ๋
- ์์ ๊ธฐ๋ฅ๋ง์ ์ ๊ณตํ๋ ์น ๊ฐ๋ฐ ํ๋ ์์ํฌ
- Django: ๋ค์ํ ๊ธฐ๋ฅ์ ์ ๊ณตํ๋ ์น ๊ฐ๋ฐ ํ๋ ์์ํฌ
https://flask.palletsprojects.com/en/2.2.x/
Welcome to Flask — Flask Documentation (2.2.x)
flask.palletsprojects.com
โถ๏ธ ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ํ๋ ์์ํฌ
- ๋ผ์ด๋ธ๋ฌ๋ฆฌ : ์ ์์ ์ธ ์ ์ด๋ฅผ ํ๋ ๋ชจ๋
- ๊ฐ๋ฐ์๊ฐ ๋ชจ๋์ ๊ธฐ๋ฅ์ ํธ์ถํ๋ ํํ์ ๋ชจ๋ (math..)
- ํ๋ ์์ํฌ : ์ ์ด ์ญ์ ์ด ๋ฐ์ํ๋ ๋ชจ๋
- ์ ์ด์ญ์ : ๊ฐ๋ฐ์๊ฐ ๋ง๋ ํจ์๋ฅผ ๋ชจ๋์ด ์คํํ๋ ๊ฒ => ์ ์ด๊ฐ ์ญ์ ๋ ๊ฒ (Flask..)
๐ฑ ๋ชจ๋ ๋ง๋ค๊ธฐ
- ํ์ด์ฌ ํ์ผ์ ๋ง๋ค๊ณ ์ธ๋ถ์์ ์ฝ์ด ๋ค์ด๋ฉด ๋ชจ๋ ๋ง๋ค๊ธฐ ์ฑ๊ณต
- ํจํค์ง : ๋ชจ๋์ด ๋ชจ์ธ ๊ฒ
โถ๏ธ __name__ ( __main__)
- __name__ ์ ์ถ๋ ฅํ๋ฉด __main__์ด ์ถ๋ ฅ๋จ
- ๋ชจ๋๋ด๋ถ์์ __name__ ์ ์ถ๋ ฅํ๋ฉด ๋ชจ๋์ ์ด๋ฆ์ด ์ถ๋ ฅ๋จ
- ์ํธ๋ฆฌ ํฌ์ธํธ(=๋ฉ์ธ): ํ๋ก๊ทธ๋จ์ ์ง์
์ (์ฒซ ์ง์
ํ์ผ)
- ์ํธ๋ฆฌ ํฌ์ธํธ ๋ด๋ถ์์์ __name__ ์ __main__
if __name__ == '__main__':
print('ํ์ฌ ํ์ผ์ด ์ํธ๋ฆฌ ํฌ์ธํธ๊ฐ ๋ง๋ค๋ฉด ์ถ๋ ฅ')