π λͺ¨λ
- ν¨μλ λ³μ λλ ν΄λμ€λ₯Ό λͺ¨μ λμ νμΌ
- λ€λ₯Έ νμ΄μ¬ νλ‘κ·Έλ¨μμ λΆλ¬μ μ¬μ©ν μ μκ²λ λ§λ νμ΄μ¬ νμΌ
# mod1.py
def add(a, b):
return a + b
def sub(a, b):
return a-b
>>> import mod1 # import mod1.pyλ‘ μ
λ ₯νμ§ μλλ‘ μ£Όμ
>>> print(mod1.add(3, 4)) # λͺ¨λλͺ
.ν¨μλͺ
7
>>> from mod1 import add # from λͺ¨λλͺ
import ν¨μλͺ
>>> add(3, 4) # μΈλλ§λ€ λͺ¨λλͺ
μ μ°μ§ μμλ λ¨
7
>>> from mod1 import add, sub # from λͺ¨λλͺ
import ν¨μλͺ
1, ν¨μλͺ
2, ...
>>> add(3, 4)
7
>>> from mod1 import * # *λ 'λͺ¨λ κ²'μ΄λΌλ λ» -> λͺ¨λ λ΄ λͺ¨λ ν¨μ λΆλ¬μ€κΈ°
>>> add(3, 4)
7
if __name__ == "__main__"
π importκ° μλ, νμΌμ μ§μ μ€νν λλ§ μννκ³ μΆμ λ΄μ©μ μν΄
# mod1.py
def add(a, b):
return a+b
def sub(a, b):
return a-b
print(add(1, 4))
print(sub(4, 2))
# νμΌμ μ§μ μ€νν κ²½μ°
C:\doit>python mod1.py
5
2
# λͺ¨λλ‘ importν κ²½μ°
>>> import mod1
5
2
π if __name__ == "__main__"
μ§μ νμΌ μ€ν μ ifμ μ΄ μ°Έμ΄ λμ΄, if μ΄ν μν
λͺ¨λμ λΆλ¬μ μ¬μ© μ ifμ μ΄ κ±°μ§μ΄ λμ΄, if μ΄ν μννμ§ μμ
# mod1.py
def add(a, b):
return a+b
def sub(a, b):
return a-b
if __name__ == "__main__":
print(add(1, 4))
print(sub(4, 2))
# λͺ¨λλ‘ importν κ²½μ°
>>> import mod1
>>> # if μ΄ν μνλμ§ μμ
π
__name__
λ³μ
- νμ΄μ¬ λ΄λΆμ μΌλ‘ μ¬μ©νλ νΉλ³ν λ³μ μ΄λ¦
- mod1.py νμΌμ μ§μ μ€νν κ²½μ°,
__name__
λ³μμλ__main__
κ°μ΄ μ μ₯λ¨- mod1μ import ν κ²½μ°, mod1.pyμ
__name__
λ³μμλ mod1μ΄ μ μ₯λ¨.
π λ€λ₯Έ νμΌμμ λͺ¨λ λΆλ¬μ€κΈ° (feat. κ°μ λλ ν°λ¦¬)
# modtest.py
import mod2
result = mod2.add(3, 4)
print(result)
π λ€λ₯Έ λλ ν°λ¦¬μ μλ λͺ¨λ λΆλ¬μ€κΈ°
C:\doit>python
>>> import sys
# νμ΄μ¬ λΌμ΄λΈλ¬λ¦¬κ° μ€μΉλμ΄μλ λλ ν°λ¦¬ 리μ€νΈμ ν΄λΉ λλ ν°λ¦¬ μΆκ°
>>> sys.path.append("C:/doit/mymod")
# λΆλ¬μΈ λͺ¨λμ΄ μλ λλ ν°λ¦¬ μΆκ° μλ£
>>> sys.path
['', 'C:\\Windows\\SYSTEM32\\python37.zip', 'c:\\Python37\\DLLs',
'c:\\Python37\\lib', 'c:\\Python37', 'c:\\Python37\\lib\\site-packages',
'C:/doit/mymod']
>>> import mod2
>>> print(mod2.add(3,4))
7
PYTHONPATH
νκ²½ λ³μ μ¬μ©νκΈ°C:\doit>set PYTHONPATH=C:\doit\mymod # set PYTHONPATHλ‘ νκ²½λ³μμ λλ ν°λ¦¬ μ€μ
C:\doit>python
>>> import mod2 # λ³λμ λλ ν°λ¦¬ μ΄λ μμ΄ λͺ¨λ λΆλ¬μ€κΈ° κ°λ₯
>>> print(mod2.add(3,4))
7
μλ λ΄μ©μ λ°νμΌλ‘ μ 리ν κ²μ΄λ€.
μ νν¬νμ΄μ¬ (https://wikidocs.net/29)