์ฌ์ง/๊ฐ์ ์ถ์ฒ: https://youtu.be/45pERzGJM64?si=27LRFNOyWtprZuql
๋ชจ๋๊ณผ ํจํค์ง
ํฌ๊ฒ ์ ๋ฆฌํด๋ณด์๋ฉด,
๋ชจ๋์ ๋ง์ ์์ ์ฝ๋๋ฅผ ํ์ผ์ ์ด๋ฆ์ ๋ถ์ฌ์ ์ ์ฅํ ๊ฒ.
ํ์ฅ์๋ .py๋ฅผ ์ฌ์ฉํด์ค๋ค.
ํจํค์ง๋ ํด๋๋ฅผ ๋ง๋ค๊ณ , ์๋ก ์ฐ๊ด๋ ๋ด์ฉ์ ์ฌ๋ฌ ๋ชจ๋์ ๋ด๋๋ค.
์ด๋ ๊ฒ ๋ง๋ค์ด์ง ํด๋๋ฅผ ํจํค์ง๋ผ๊ณ ํจ.
1. ๋ชจ๋
def sum(a, b):
return a + b
print(sum(1, 2)) ํ์ ๊ฒฝ์ฐ์๋ ๋ฌธ์ ์์ด
๊ฒฐ๊ณผ๊ฐ 3์ด ์ถ๋ ฅ๋์ง๋ง,
์ค๊ฐ์
def sum(a, b):
return 'average:' + str((a + b) / 2)
์๋ก์ด sum์ ๋ํ ์ฌ์ ์๊ฐ ๋๋ค๋ฉด,
๊ฒฐ๊ณผ๋ 3์ด ์๋ 1.5๊ฐ ์ถ๋ ฅ๋๊ฒ ๋๋ค.
์ด ๋ ๋ชจ๋์ ํ์ฉํ ์ ์๋๋ฐ,
ํ์ผ๋ค์ ๋ง๋ค์ด์ ๊ฐ ์ฝ๋๋ค์ ์ด์ฌ์์ผ์ฃผ๊ณ ,
import ๋ฅผ ์ฌ์ฉํ์ฌ ๊ฐ ์ด์ฌ์ํจ ์ฝ๋๋ฅผ ๋ถ๋ฌ์ฌ ์ ์๋ค.
import arithmetic_module
print(arithmetic_module.sum(1, 2)) ํด์ฃผ๋ฉด
๊ธฐ์กด์
def sum(a, b):
return a + b
print(sum(1, 2)) ๊ณผ ๋์ผํ ๊ฒฐ๊ณผ๊ฐ
์ถ๋ ฅ๋จ์ ํ์ธํ ์ ์๋ค.
import ๋ ๋งจ ์์๋จ์ ์จ์ค์ผํจ.
๊ทธ๋ฌ๋ ์ด๋ ๊ฒ ๋ฐฐ์ดํด๋ ๋์ํ๋ ๊ฒ์๋ ์๋ฌด ๋ฌธ์ ๊ฐ ์๋ค.
from ~ import ๋ฅผ ์ฌ์ฉํด์ ์ง์ ํจ์๋ฅผ ๋ถ๋ฌ์ฌ ์๋ ์๋ค.
from statistics_module import sum
print(sum(1, 2)) ํ๋ฉด ๊ฒฐ๊ณผ๋ 1.5
SQL์ฒ๋ผ as๋ฅผ ์ฌ์ฉํ์ฌ ํจ์์ ๋ณ์นญ์ ๋ถ์ฌ์ฃผ๋ ๊ฒ๋ ๊ฐ๋ฅํจ.
+)
์ฑ์งํผํฐ์๊ฒ ๋ฌผ์ด๋ณธ ๋ชจ๋
๋ชจ๋์ ์ข ๋ฅ
1. ๋ด์ฅ๋ชจ๋
ex. math, os, sys, datetime, random, json
2. ์ธ๋ถ๋ชจ๋
ex. requests, numpy, pandas
3. ์ฌ์ฉ์์ ์๋ชจ๋
.py ํ์ผ
๋ชจ๋ ๊ฐ์ ธ์ค๊ธฐ ๋ฐฉ๋ฒ
- ์ ์ฒด ๊ฐ์ ธ์ค๊ธฐ
- import math
print(math.pi) # 3.141592653589793
- ๋ณ์นญ(alias) ์ฌ์ฉ
- import math as m
print(m.pi) # 3.141592653589793
- ํน์ ํจ์ ๋๋ ํด๋์ค๋ง ๊ฐ์ ธ์ค๊ธฐ
- from math import sqrt, pi
print(sqrt(25)) # 5.0
print(pi) # 3.141592653589793
- ๋ชจ๋ ํญ๋ชฉ ๊ฐ์ ธ์ค๊ธฐ-๋น๊ถ์ฅ
- from math import *
print(sin(0)) # 0.0
ํ์ด์ฌ์์ ๋ชจ๋์ ์ฌ์ฌ์ฉ ๊ฐ๋ฅํ ์ฝ๋์ ์งํฉ์ ๋ด์ ํ์ผ๋ก,
๋ค์ํ ๊ธฐ๋ฅ์ ์ ๊ณตํ๋ ์ฝ๋๋ฅผ ์ฝ๊ฒ ๊ฐ์ ธ๋ค ์ฌ์ฉํ ์ ์๋๋ก ๋์์ค๋๋ค.
๋ชจ๋์ ํ์ด์ฌ ํ์ผ(.py)๋ก ์์ฑ๋๋ฉฐ, ๋ค๋ฅธ ์คํฌ๋ฆฝํธ๋ ํ๋ก๊ทธ๋จ์์ ์ด๋ฅผ
import ํค์๋๋ฅผ ์ฌ์ฉํด ์ธ ์ ์์ต๋๋ค.
2. ํจํค์ง
๋งจ ์์ค ์ฃผ์์ ๊ฐ์ ๋๋ ํ ๋ฆฌ ์์ ๋ชจ๋์ด ์๋ค๊ณ ๊ฐ์ ํ๊ณ
# ./arithmetics_module.py ๊ฒฝ๋ก ์ค์ ์ ํ๋ค๊ณ ํ์
จ๋ค.
number_package ๋ฅผ ๋ง๋ค์ด์
arithmetics_module๊ณผ statistics_module์ ๊ทธ ์์ผ๋ก ์ด์ฌ์ํค์ฌ.
์ฃผ์๋ # ./number_package/statistics_module.py ๊ฒฝ๋ก ์ฌ์ค์
์ญ์ ๋ง์ฐฌ๊ฐ์ง๋ก ์ฌ์ฉํ ๋
import๋ก number_package ์ statistics_module์ ๋ถ๋ฌ์์ค๋๋ค.
๋ชจ๋๊ณผ ๋์ผํ๊ฒ
import ์ from ~ import ๋ก ํด๋น ํจ์๋ค์
์ฌ์ฉํด์ค ์ ์์~
ํจ์๋ณ์นญ ์ดํ๋๋ฌธ.
+)
ํจํค์ง์ ๋ชจ๋์ ์ฐจ์ด
· ๋ชจ๋ : ํ์ด์ฌ ์ฝ๋๊ฐ ๋ค์ด์๋ ํ๋์ .py ํ์ผ
·· ํจํค์ง : ์ฌ๋ฌ ๋ชจ๋์ ํฌํจํ๋ ํด๋(๋๋ ํ ๋ฆฌ)
# ํจํค์ง ์ด๊ธฐํ: ํ์ํ ๋ชจ๋์ ์ํฌํธ
from .math_tools import add, subtract
from .string_tools import reverse_string, uppercase
ํจํค์ง ์ฌ์ฉ ๋ฐฉ๋ฒ
- ํจํค์ง ์ํฌํธํ๊ธฐ
- # math_tools.py์ ํจ์ ์ฌ์ฉ
from mypackage import math_tools
print(math_tools.add(5, 3)) # 8
print(math_tools.subtract(10, 4)) # 6
# string_tools.py์ ํจ์ ์ฌ์ฉ
from mypackage import string_tools
print(string_tools.reverse_string("Python")) # nohtyP
print(string_tools.uppercase("hello")) # HELLO
- __init__.py ํ์ฉ
- from mypackage import add, reverse_string
print(add(7, 2)) # 9
print(reverse_string("Package")) # egakcaP
์ก ์ธ์คํจ๋ก ์ค์น ๊ฐ๋ฅ
๋ํ์ด๋ ์๋์ฝ๋ค ์ค์นํ๋ฉด ์๋์ผ๋ก ์ค์น๋ฉ๋๋ค
'[๋ด๋ฐฐ์บ ] ๋ณธ ์บ ํ (24.11.25 ~ 25.03.31) ๐๐ปโโ๏ธ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[241216] ๋ฒ ์ด์ง๋ฐ: (Deceptively simple: An outsider's perspective on natural language processing) ๋ด์ฉ ์์ฝ (5) | 2024.12.16 |
---|