모듈이란 함수나 변수 또는 클래스를 모아놓은 파일로 다른 프로그램에서 불러와 사용할수 있다.
#cal.py
def add(a, b):
reutrn a + b
def mul(a, b):
return a * b
# 데이터 검증용 함수
print(add(2, 4))
print(mul(2, 4))
1. 직접 파일 실행
>>>python cal.py
6
8
2. 모듈로 사용
#math.py
import cal
>>>python math.py
6
8
print(add(2,4)), print(mul(2,4))함수가 자동 실행된다.
이처럼 테스트용 또는 검증용 함수실행을 방지하기 위해 if __name__ == '__main__': 을 사용한다.
1. 직접파일 실행시 if __name__ == '__main__':는 참이 되어 if 다음문이 수행되며,
2. 모듈로 사용시 if __name__ == '__main__':는 거짓이되어 if 다음문이 실행되지 않는다.
#cal.py
def add(a, b):
reutrn a + b
def mul(a, b):
return a * b
# 데이터 검증용 함수
if __name__ == '__main__':
print(add(2, 4))
print(mul(2, 4))
__name__ 변수란?
파이썬의 __name__ 변수는 파이썬이 내부적으로 사용하는 특별한 변수 이름이다. 만약 >>>python cal.py처럼 직접 cal.py 파일을 실행할 경우 cal.py의 __name__ 변수에는 __main__ 값이 저장된다. 하지만 파이썬 셸이나 다른 파이썬 모듈에서 cal 을 import 할 경우에는 cal.py의 __name__ 변수에는 cal.py의 모듈 이름 값 cal 이 저장된다.
>>>import cal
>>>cal.__name__
'cal'
'뇌새김질' 카테고리의 다른 글
[Python] 예외(Exception) 만들기 (0) | 2021.07.26 |
---|---|
[Python] 리스트(List) vs 튜플(Tuple) and Dictionary (0) | 2021.07.21 |
[Python] bytes to String변환 (0) | 2021.07.19 |
[Python] Method 종류 (instance, class, static) (0) | 2021.07.16 |
[Python] String 포맷 & prefix (f, b, u, r) (0) | 2021.07.15 |