파이썬(Python)

[ Basic ] 파이썬 if __name__ == "__main__" 구문

카루루1007 2023. 3. 16. 23:28
728x90
반응형

다른 사람들의 파이썬 코드를 보다보면

 if __name__ == "__main__"

이런 구문을 보신적이 있으실지 모르겠습니다.

 

import 에 대한 내용을 작성했던 적이 있습니다.

import 로 불러오는 모듈 역시 [ .py ] 확장자를 가진

파이썬 파일입니다.

 

즉, 우리가 만든 파이썬 파일을 다른 코드에서 불러다가

재사용 할 수 있다는 의미입니다.

 

다시 [  if __name__ == "__main__" ] 으로 돌아가겠습니다.

위 구문은

현재 파이썬 파일이 직접 실행 될때만 내부 코드가 실행되도록 합니다.

현재의 파이썬 파일을 직접 실행할 때는 if __name__ == "__main__"

다음에 오는 코드 블록이 실행되며,

모듈로 사용될 때는 실행되지 않습니다.

 

예를들어 아래의 코드를 살펴보겠습니다.

#ifname.py

def example():
    print("hello")

example()

위 코드를 실행하면 [ hello ]가 출력됩니다.

 

#test.py

import ifname

만약 test.py라는 파일을 만들고

위와 같이 [ import ifname ]

한줄만 입력한 후 코드를 실행해 보면 [ hello ]가 출력됩니다.

 

ifname.py 라는 파일에서 이미 example() 함수를 호출했기 때문에

ifname.py 라는 파일을 import 만 했는대도 [ hello ]가 출력이 됩니다.

 

반응형

ifname.py 파일을 호출한 후

필요할 때만 example() 함수를 호출하고 싶다면

ifname.py  파일의 코드를 다음과 같이 작성하면 됩니다.

#ifname.py

def example():
    print("hello")

if __name__ == "__main__":
    example()

이렇게 하면 ifname.py를 직접 실행할 때에는

example() 함수가 호출되어 

[ hello ]가 출력됩니다.

 

코드를 위와 같이 고친 후 

아래 코드를 다시 실행해 보세요

#test.py

import ifname

이제는 아무것도 호출되지 않습니다.

ifname.py 내부에서 [ if __name__ == "__main__" ]

를 사용했기 때문에 모듈로 사용될 때는

[ if __name__ == "__main__" ]

내부의 코드가

실행이 되지 않습니다.

 

test.py 파일에서 example() 함수를 호출하고 싶다면

아래와 같이 직접 호출을 해주어야 합니다.

#test.py

import ifname

ifname.example()

이렇게 해야 정상적으로[ hello ]가 출력이 됩니다. 

 

여기를 방문하시면 더 많은 파이썬 관련 자료를 확인할 수 있습니다.

파이썬 공부하기

728x90
반응형