정의: 함수나 변수 또는 클래스 모아 놓은 파일
모듈 만들기
# mod1.py(모듈)만들고 C:\doit 디렉토리 저장
def add(a, b):
return a+b
def sub(a, b):
return a-b
import mod1
print(mod1.add(3,4)) # 7
print(mod1.sub(4,2)) # 2
: 이미 만들어 놓은 파이썬 모듈 호출 명령어이다.
: 모듈 이름 없이 함수 이름만 쓰고 싶은 경우도 있을 것이다.
from mod1 import add
add(3, 4) # 7
# from 모듈 이름 import 모듈함수1, 모듈 함수2처럼 사용(콤마로 구분하여 필요함수 부르기)
from mod1 import add, sub
# *: 모듈의 모든 함수 호출
from mod1 import *
if name =="main"을 사용 -> C:\doit>python mod1.py처럼 직접 이 파일 실행
name = "main"이 참이 되어 if문 다음 문장이 수행 거짓이면 수행 안됨.
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
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 mod1
파이썬이 내부적으로 사용하는 특별 함수
C:\doit>python mod1.py : mod1.py파일 실행
mod1.py의 name변수 : main값 저장
>>> import mod1
>>> mod1.__name__
'mod1'
# mod2.py
PI = 3.141592
class Math:
def solv(self, r):
return PI * (r ** 2)
def add(a, b):
return a+b
C:\doit> python
>>> import mod2
>>> print(mod2.PI) # 3.141592
>>> a = mod2.Math()
>>> print(a.solv(2)) # 12.566368
# mod2.py에 있는 add함수 사용
>>> print(mod2.add(mod2.PI, 4.4)) # 7.541592
import mod2
result = mod2.add(3, 4)
print(result)
C:\Users\pahkey>cd C:\doit
C:\doit>mkdir mymod
C:\doit>move mod2.py mymod
1개 파일을 이동했습니다.
import sys
sys.path #sys.path는 파이썬 라이브러리가 설치되어 있는 디렉토리 보여줌
# 결과: ['', 'C:\\Windows\\SYSTEM32\\python37.zip', 'c:\\Python37\\DLLs',
'c:\\Python37\\lib', 'c:\\Python37', 'c:\\Python37\\lib\\site-packages']
C:\doit>set PYTHONPATH=C:\doit\mymod
C:\doit>python
>>> import mod2
>>> print(mod2.add(3,4)) # 7
( 디렉터리 이동이나 별도의 모듈 추가 작업 없이 mod2모듈 불러와 사용)