프로그래밍 문법/python

if __name__ == "__main__" 을 쓰는 이유

씩씩한 IT블로그 2020. 6. 18. 22:44
반응형

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
반응형