๐ Python:ํ์ค ๋ผ์ด๋ธ๋ฌ๋ฆฌ
7659 ๋จ์ด pythontutorialprogrammingtodayisearched
๐ Python:ํ์ค ๋ผ์ด๋ธ๋ฌ๋ฆฌ
๋ชจ๋ ์ธ์ด์ ๋ง์ฐฌ๊ฐ์ง๋ก ํ์ดํค์ ์ฌ์ฉํ ์ ์๋ ๋ชจ๋/ํจํค์ง๋ฅผ ๋๋์ผ๋ก ์ ๊ณตํฉ๋๋ค.๋๋ ํญ์ ๋์๊ด ์์ ์ด๋ ๊ฒ ๋ง์ ๋ฌผ๊ฑด์ ์ง์๋ค๋ ๊ฒ์ ๋๋๋ค.
์ ๋ค๊ฐ ์ป๋ ๊ฒ์ด ์ด๋ ๊ฒ ์ค์ํ์ง ์๋?์ฐ์ , ์์ ์ด ๋ฌด์์ ์ฌ์ฉํ ์ ์๋์ง ์๊ณ ์๋ค๋ฉด, ๋ค๋ฅธ ์ฌ๋์ด ์ด ๋ง์ ๋๊ตฌ๋ฅผ ๋ค์ ์ฌ์ฉํ ์ ์๋ค.๋ํ ํ์ค ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ๊พธ์คํ ์ฌ์ฉํ๋ฉด ์ฝ๋๊ฐ ๋์ฑ ํผํผํด์ง๊ณ ์ธ๋ถ ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ์์กด์ฑ์ ์ค์ผ ์ ์์ต๋๋ค. ์ด๊ฒ์ ์ํํธ์จ์ด ๊ฐ๋ฐ์์ ์์ข ์ผ๊ด ์ข์ ์ค์ฒ์ ๋๋ค.
์ด๊ณณ์ ๋ฌผ๊ฑด
python
๊ธฐ์ค์ ์ํ๊ณ์์ ๊ฐ์ฅ ์์ ์ ์ธ ๋ถ๋ถ ์ค์ ํ๋์ด๋ค.ํต์ฌ ์ธ์ด ๊ฐ๋ฐ์๋ค์ ๊ทธ๋ค์ด ๋ณ๊ฒฝํ ๊ฒ์ ๋ํด ๋งค์ฐ ์กฐ์ฌ์ค๋ฝ๋ค.๋ณ๊ฒฝ์ ๋ฏธ๋ฆฌ ๊ณตํฌ, ํ
์คํธ...์ด๊ฒ์ ๋ค๋ฅธ ๋์๊ด์ ์์ด์๋ ๋ถ๊ฐ๋ฅํ๋ค.์ด์ ํด๋ช ํด.๋ง์ฝ ๋น์ ์ ์๊ตฌ์ ๋ถํฉ๋๋ค๋ฉด ํ์ค์ ์ํ์ง ์๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ฌ์ฉํ ์ ์์ง๋ง, ์ฝ๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ๋ค์ด๊ฐ ์ฐ๋ ๊ธฐ ํ๋ํ๋๊ฐ ๋น์ ์ ๋ฏธ๋ ์ํ์ ๋์ฑ ์ด๋ ต๊ฒ ํ ์ ์๊ธฐ ๋๋ฌธ์ ์ฌ์ฌ์๊ณ ํด์ผ ํ๋ค.
Here ๋ชจ๋
python 3
๋ชจ๋์ ๋ชฉ๋ก์ ์ฐพ์ ์ ์์ต๋๋ค.๋ค์ ๋ช ๋จ๋ฝ์์ ์ฐ๋ฆฌ๋ ๊ทธ๋ค์ง ์ ๋ฌธ์ ์ด์ง ์์ ๋ด์ฉ์ ์๊ฐํ ๊ฒ์ด๋ค.๋ชจ๋์ ์ด๋ป๊ฒ ์ฌ์ฉํฉ๋๊น?
์๋ฅผ ๋ค์ด ๋ชจ๋
collections
.๋ชจ๋์๋ ์ ์ฌํ ์ฉ๊ธฐ์ ๋ฐ์ดํฐ ํ์์ด ๊ฐ๋ ์ฐจ ์์ต๋๋ค. ์๋ฅผ ๋ค์ด
OrderedDict
๊ณผ deque
(์์ชฝ์ ์ ์ฌํ ๋ชฉ๋ก์ ๋น ๋ฅด๊ฒ ์ถ๊ฐํ๊ณ ํ์
ํ๋ ์ฉ๊ธฐ).๋ชจ๋์ ์ผ๋ถ๋ฅผ ๊ฐ์ ธ์ค๋ ค๋ฉด ๋ค์๊ณผ ๊ฐ์ด ํ์ญ์์ค.
from collections import OrderedDict
d = OrderedDict()
๋๋ ์ ์ฒด ๋ชจ๋์ ๊ฐ์ ธ์ค๋ ๋ฐฉ๋ฒ:import collections
d = collections.OrderedDict()
๋ชฉ์์ผ
python
์ค ๊ฐ์ฅ ํฐ ๋ถ๋ถ์ IO
๋์คํฌ์ ๊ธฐ๋กํ๊ณ ์ฝ๋ ๊ฒ์ด๋ค.json
: .JSON
ํ์ผ์ ์ฝ๋ ๋ชจ๋์
๋๋ค.json
์ ๋ํ ์์ธํ ๋ด์ฉ์ ๊ฒ์ํ ๊ฒ์๋ฌผ์ ์ฐธ์กฐํ์ญ์์ค.csv
: ๋ถ๋ฆฌ๋ ํ์ผ์์ ํ
์ด๋ธ ๋ฐ์ดํฐ๋ฅผ ์ฐ๊ณ ์ฝ์ต๋๋ค.gzip
: ํ์ผ ๋์์ ์ฌ์ฉํ์ฌ gzip
์์ถ๊ณผ ์์ถ์ ํ ์ ์๋ ์ธํฐํ์ด์ค.hashlib
: ๋ณด์ ํด์์ ๋ฉ์์ง ์์ฝ ์๊ณ ๋ฆฌ์ฆ.pathlib
: ๊ฐ์ฒด๋ฅผ ์ํ ํ์ผ ์์คํ
๊ฒฝ๋ก์
๋๋ค.ํ์ผ ๊ฒฝ๋ก๊ฐ ์๋์ง ํ์ธํ๋ ค๋ฉด...sqlite3
: SQLite
3์ DB-API๋ฅผ ์ฌ์ฉํ์ฌ ๊ตฌํํฉ๋๋ค.xใ aifc
: ์ฝ๊ธฐ/์ฐ๊ธฐAIFF
๋๋ AIFC
ํ์์ ์ค๋์ค ํ์ผ์
๋๋ค.tarfile
: ์ฝ๊ธฐ/์ฐ๊ธฐtar
- ์์นด์ด๋ธ ํ์ผ์ ํฌ๋งทํฉ๋๋ค.io
: ๋ฐ์ดํฐ ํ๋ฆ์ ์ฒ๋ฆฌํ๋ ๋ฐ ์ฌ์ฉ๋๋ ํต์ฌ ๋๊ตฌ์
๋๋ค.zipfile
: ์ฝ๊ธฐ/์ฐ๊ธฐZIP
- ์์นด์ด๋ธ ํ์ผ์ ํฌ๋งทํฉ๋๋ค.xml
: XML
์ฒ๋ฆฌ ๋ชจ๋copy
: ์์ ๋ณต์ฌ ๋ฐ ๊น์ ๋ณต์ฌ ์์
.๊ฐ์ฒด์ ๊น์ด ์๋ ๋ณต์ฌ๋ฅผ ์ํํฉ๋๋ค.types
: ๋ด์ฅ ์ ํ์ ์ด๋ฆ์
๋๋ค.๊ทธ๊ฒ๋ค์ ์ฌ์ฉํ์ฌ ๋ฐ์ดํฐ ๊ตฌ์กฐ๋ฅผ ๋ณต๊ตฌํ๋ค.from functools import lru_cache
lru_cache
๋ ์ต๊ทผ์ ์ฌ์ฉํ ์บ์์ด๊ธฐ ๋๋ฌธ์ ํญ๋ชฉ์ด ๋ง๋ฃ๋์ง ์์์ต๋๋ค.๊ทธ๋ฆฌ๊ณ
shelve
: python
๋์ ์๊ตฌํ ํจํค์ง๋ ํ๋ก๊ทธ๋จ ์ฃผ๊ธฐ ๋ด์ ์ ์ฌํ key
value
๋ฐฉ์์ผ๋ก ๋์์ ์ ์ฅํ ์ ์๋๋ก ํฉ๋๋ค.์๋ฅผ ๋ค์ด, ๋ณด๋ฅ ์ํ๋ฅผ ๋ง๋ค๋ ค๋ฉด ๋ค์๊ณผ ๊ฐ์ด ํ์ญ์์ค.with shelve.open('spam') as db:
db['eggs'] = 'eggs'
๊ทธ๋ฆฌ๊ณ db
๋ฒ์ ๋ด์ ๋ชจ๋ ์์น์์ with
์ ๋์์ ํธ์ถํ ์ ์๋ค.๋ง์ฝ ์์์ด ๋์คํฌ์์ ๋ฉ๋ชจ๋ฆฌ๋ก ๋ถ๋ฌ์๋ค๋ฉด ๋์คํฌ ์ ๊ทผ๋ณด๋ค ํจ์ฌ ๋น ๋ฅธ ์บ์์์ ์์์ ์ฝ์ ์ ์์ต๋๋ค.๋ณ๋ ฌํ, ๋ฐฑ๊ทธ๋ผ์ด๋ ํ๋ก์ธ์ค
threading
: ๋ผ์ธ์ ๋ณํ์ฑ์ ๋ฐํ์ผ๋ก ํ๋ค.multiprocessing
: ๊ณผ์ ์ ๋ณํ์ฑ์ ๋ฐํ์ผ๋ก ํ๋ค.queue
: ๋๊ธฐ์ด ๋ชจ๋์ ๋ค์์ฐ์, ๋ค์๋น์ ๋๊ธฐ์ด์ ์คํํ๋ค.์ ๋ณด๊ฐ ์ฌ๋ฌ ๋ผ์ธ ์ฌ์ด์์ ์์ ํ๊ฒ ๊ตํ๋์ด์ผ ํ ๋, ์ด๊ฒ์ ๋ผ์ธ ํ๋ก๊ทธ๋๋ฐ์ ํนํ ์ ์ฉํ๋ค.asyncio
: ๋น๋๊ธฐ์ I/O. ์ฝ๋๊ฐ ์คํ๋ ๋๊น์ง ํ๋ก์ธ์ค๋ฅผ ์คํ์ํต๋๋คํ์ฉ๋จ์ด์ฐธ์กฐ
์๋ค
tkinter
.Tcl/Tk
์ ์ธํฐํ์ด์ค๋ก ๋งค์ฐ ๊ฐ๋จํ ๋ํ ์ฌ์ฉ์ ์ธํฐํ์ด์ค๋ฅผ ๊ตฌ์ถํ๋ ๋ฐ ์ฌ์ฉ๋๋ค.๋๋ ๊ทธ์ ์ํผ ํฌ์ด ์๋๋ค.์ ๋น์ฑ
python
ํ์ค์ ํฌํจ๋ ๋ช ๊ฐ์ ๋ด์ฅ ๋ชจ๋์ ์ฝ๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ๋์ฑ ์์ ์ ์ด๊ณ ๋น ๋ฅด๋ฉฐ ์ฝ๊ธฐ ์ฝ๊ณ ๋ชจ๋ํํ๋ ๋ฐ ๋์์ ์ค๋๋ค.warning
: ๊ฒฝ๊ณ ๋ฉ์์ง๋ฅผ ๋ณด๋
๋๋ค.logging
: ์ดํ๋ฆฌ์ผ์ด์
์ ์ํ ์ ์ฐํ ์ด๋ฒคํธ ๊ธฐ๋ก ์์คํ
์
๋๋ค.ํนํ ์ค๋ฅ ๋ก๊ทธ๋ฅผ ์ ์ฅํฉ๋๋ค.cProfile
:python ํ๋ก๊ทธ๋จ์ ๋ถ์ํ๋ ๋ฐ ์ฌ์ฉํฉ๋๋ค.์ฝ๋์ ์ผ๋ถ ๋ถ๋ถ์ ์ธก์ ํ๋ ๋ฐ ํ์ํ ์๊ฐ๋งน๋ชฉ์ ์ผ๋ก ๋๊ดํ์ง ๋ง๋ผ.์ฝ๋๋ฅผ ์์ฑํ๋ค.๋๋ฆฐ ๊ฒ์ ์ฐพ์๋ด ์ต์ ํํ๋ค.pydoc
: ๋ฌธ์ ์์ฑ๊ธฐ ๋ฐ ์จ๋ผ์ธ ๋์๋ง ์์คํ
.venv
: ๊ฐ์ ํ๊ฒฝ์ ๋ง๋ญ๋๋ค.์ด ์ต์
์ ์ฌ์ฉํ๋ฉด ๋ค๋ฅธ ์ฌ๋๋ค์ด ๊ฐ์ ํ๊ฒฝ์ ์ ์ํ๊ฒ ๋ง๋ค์ด์ ์ฝ๋๋ฅผ ์คํํ ์ ์๋๋ก ํฉ๋๋ค.์ถ๊ฐ ์์กดํญ์ด ํ์ ์์ต๋๋ค.ํ์
datetime
: ๊ธฐ๋ณธ ๋ ์ง์ ์๊ฐ ์ ํ.zoneinfo
: IANA ํ์ค ์๊ฐ๋ ์ง์.time
: ์๊ฐ ์ ๊ทผ ๋ฐ ๋ณํ.calendar
: ๋น์ทํ ๋ฌ๋ ฅ์ ์กฐ์์ ์ฌ์ฉ๋๋ ๋ชจ๋์
๋๋ค.๋คํธ์ํน
๋คํธ์ํน ํด์
python
์์ ๋ค์๊ณผ ๊ฐ์ ์ด์ ์ ์ ๊ณตํฉ๋๋ค.mailbox
: ๋ค์ํ ํ์์ผ๋ก ๋ฉ์ผ๋ฐ์ค๋ฅผ ์กฐ์ํฉ๋๋ค.webbrowser
: ์ฌ์ฉํ๊ธฐ ์ฌ์ด ์น ๋ธ๋ผ์ฐ์ ์ปจํธ๋กค๋ฌ.smtpd
: Python์ SMTP ์๋ฒ๊ฐ ๊ตฌํ๋ฉ๋๋ค.smtplib
: SMTP ํ๋กํ ์ฝ ํด๋ผ์ด์ธํธsocketserver
: ๋คํธ์ํฌ ์๋ฒ์ ํ๋ ์์ํฌ.ssl
: ์์ผ ๊ฐ์ฒด์ TLS/SSL ํจํค์งemail
: ์ ์ ์ฐํธ ๋ฉ์์ง๋ฅผ ๋ถ์, ์กฐ์, ์์ฑํ๋ ํจํค์ง๋ฅผ ์ง์ํฉ๋๋ค.socket
: ์ ๊ธ ๋คํธ์ํฌ ์ธํฐํ์ด์ค.ftplib
: FTP ํ๋กํ ์ฝ ํด๋ผ์ด์ธํธ.html
: HTML ์์
๋์ฐ๋ฏธ.http
: HTTP ์ํ ์ฝ๋์ ๋ฉ์์ง.urllib
: URL ์ฒ๋ฆฌ ๋ชจ๋.์ํ๊ณผ ์ซ์
python
์scipy
๊ฐ์ ์ฐ๋ ๊ธฐ๋ฅผ ๋์
ํ๊ธฐ ์ ์purenumpy
๋ก ์ํ์ ์ธ ์ผ์ ๋ง์ด ํ ์ ์๋ค.์ด๋ ์ ๋ ์ด ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ค์ ์ข์ง๋ง, ์คํ ์ธ๋ถ ์ฌํญ์ ๋๋ฌด ๋ง์ด ์จ๊ฒผ๋ค.์ด๊ฒ์ ๊ทธ์ ์ด๋จธ๋์ ์ํ์ด๋ค.๋ฐ๋ผ์ ๊ฐ๋ฅํ ํ python
์ ๊ธฐ์ด ์ง์์ ์ฌ์ฉํด์ผ ํ๋ค.statistics
: ์๋ฆฌ ํต๊ณ ํจ์.math
: ์ํ ํจ์exp
,sin
...cmath
: ๋ณต์์ ์ํ ํจ์.random
: ๊ฐ์ข
ํํ ๋ถํฌ๋ฅผ ๊ฐ์ง ์์กฐ ๋๋ค์๋ฅผ ์์ฑํ๋ค.๋ช ๋ นํ/OS ์ธํฐํ์ด์ค
๋ฐ๋ฐ๋ฅ ์ด์์ฒด์ ์ ์ข์ ์ธํฐํ์ด์ค๊ฐ ์์ผ๋ฉด ํญ์ ์ข๋ค.
bash
๋ ์ฐ๊ธฐ์ ๋งค์ฐ ๊ณ ํต์ค๋ฝ๊ธฐ ๋๋ฌธ์ python
์ ํต์ ๊ถ์ด ์ฑ
์ ์์ ์์ผ๋ฉด ์ ์๊ฒ ๋ฑ๋กํด ์ฃผ์ธ์.subprocess
: ํ์ ํ๋ก์ธ์ค ๊ด๋ฆฌ.os
: os.system()
์ต์
์ด ์๋ ๋ชจ๋์
๋๋ค. ์ด ์ต์
์ ๋ค๋ฅธ ๊ธฐ๋ฅ์์ ์
ธ ๋ช
๋ น์ ์คํํ ์ ์๋๋ก ํฉ๋๋ค.sys
: ์์คํ
์ ํน์ ๋งค๊ฐ ๋ณ์์ ๊ธฐ๋ฅ์ ์ก์ธ์คํฉ๋๋ค.sysconfig
: ํ์ดํค์ ๊ตฌ์ฑ ์ ๋ณด์
๋๋ค.syslog
: Unixsyslog
๋ผ์ด๋ธ๋ฌ๋ฆฌ ๋ฃจํด์ ์ธํฐํ์ด์ค์
๋๋ค.pipes
: ์ผ์ด์ค ํ์ดํ์์ ์ธํฐํ์ด์ค.argparse
: ๋ช
๋ น์ค ์ต์
๊ณผ ํ๋ผ๋ฏธํฐ ๋ถ์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ.๊ธฐํ ๋ฉ์ง ๋ชจ๋:
difflib
: ๋์ ๊ฐ์ ์ฐจ์ด๋ฅผ ๊ณ์ฐํ๋ ์กฐ์.๋ณ๊ฒฝ ์ฌํญ์ ์ถ์ ํ๋ ค๋ฉด ์ฌ์ฉํ ์ ์์ต๋๋ค.importlib
: ์์
๋ฉ์ปค๋์ฆ์ ์ค์.์ด๋ ๊ฒ ํ๋ฉด python
๋ชจ๋, ํจํค์ง, ํด๋ ๋ฑ์ ๊ฐ์ ธ์ฌ ์ ์์ต๋๋ค...ํ
ํ๋ฆฟ ์ฝ๋๋ฅผ ์
๋ ฅํ๋ ๋์ ํ๋ก๊ทธ๋๋ฐ์ ์ฌ์ฉํฉ๋๋ค.pprint
: ๋ฐ์ดํฐ ํ๋ฆฐํฐ.๐ ํ์ด์ฌ ์๋ฆฌ์ฆ:
Reference
์ด ๋ฌธ์ ์ ๊ดํ์ฌ(๐ Python:ํ์ค ๋ผ์ด๋ธ๋ฌ๋ฆฌ), ์ฐ๋ฆฌ๋ ์ด๊ณณ์์ ๋ ๋ง์ ์๋ฃ๋ฅผ ๋ฐ๊ฒฌํ๊ณ ๋งํฌ๋ฅผ ํด๋ฆญํ์ฌ ๋ณด์๋ค https://dev.to/zigabrencic/python-standard-library-137nํ ์คํธ๋ฅผ ์์ ๋กญ๊ฒ ๊ณต์ ํ๊ฑฐ๋ ๋ณต์ฌํ ์ ์์ต๋๋ค.ํ์ง๋ง ์ด ๋ฌธ์์ URL์ ์ฐธ์กฐ URL๋ก ๋จ๊ฒจ ๋์ญ์์ค.
์ฐ์ํ ๊ฐ๋ฐ์ ์ฝํ ์ธ ๋ฐ๊ฒฌ์ ์ ๋ (Collection and Share based on the CC Protocol.)
์ข์ ์นํ์ด์ง ์ฆ๊ฒจ์ฐพ๊ธฐ
๊ฐ๋ฐ์ ์ฐ์ ์ฌ์ดํธ ์์ง
๊ฐ๋ฐ์๊ฐ ์์์ผ ํ ํ์ ์ฌ์ดํธ 100์ ์ถ์ฒ ์ฐ๋ฆฌ๋ ๋น์ ์ ์ํด 100๊ฐ์ ์์ฃผ ์ฌ์ฉํ๋ ๊ฐ๋ฐ์ ํ์ต ์ฌ์ดํธ๋ฅผ ์ ๋ฆฌํ์ต๋๋ค