반응형
0. if __name__ 함수를 쓰는이유
파이썬에서 메인함수를 쓸때와 쓰지않을때의 차이는 해당 프로그램을 import했을 때 실행여부이다.
1. 메인함수를 작성하면, 해당 프로그램을 import했을 때 main() 내부에 있는 코드가 실행되지 않지만,
2. 메인함수를 작성하지 않으면, import했을 때 전역에 있는 모든 코드들이 실행된다.
1. 메인함수 작성
useMain.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,1))
1. useMain을 import시 아무결과값도 뜨지 않는다.
import useMain
Process finished with exit code 0
2. 따라서 깔끔하게 useMain.py에 있는 메소드만 사용할 수 있다.
import useMain
a=4
b=5
print(useMain.add(4,5))
9
Process finished with exit code 0
2. 메인함수 작성 X
NoMain.py
def add(a,b):
return a+b
def sub(a,b):
return a-b
print(add(1,4))
print(sub(4,1))
1. noMain을 import시 전역에 적힌 print()문이 실행된다.
import noMain
5
3
Process finished with exit code 0
반응형