이것의 의미는 메인 함수의 선언, 시작을 의미한다. 해당 코드 밑에 main 등의 함수 호출 코드를 작성해서 함수의 기능을 수행한다.
def main():
print('안녕하세요.')
if __name__ == '__main__':
main()
위의 내용만 보면 '메인 함수의 선언, 시작이라는 것은 알겠는데 왜 사용하는 걸까?라는 생각이 들것이다.
아래 예시를 통해 궁금증을 해결해보자
#!/usr/bin/env python3
# Filename : test.py
if __name__ == '__main__':
print('직접 실행한 결과')
else:
print('다른 파일에서 모듈로 불리는 경우')
위의 코드를 가지는 test.py 파일이 있다.
위 그림은 파이썬 인터프리터에 의해 직접 실행한 결과이다.
import test
이번에는 위의 코드를 가지는 test_module.py을 실행한다.
위 그림은 다른 파이썬 코드(test_module.py)에 의해서 모듈로 import (import test부분)한 결과이다.
정리하면, 본인이 구현한 코드가 다른 파이썬 코드에 의해서 모듈로 import 되는 경우도 있고, 파이썬 인터프리터에 의해서 직접 실행되는 경우가 있을 수 있는데, if__name__=='__main__'은 인터프리터에 의해서 직접 실행될 경우에만 실행하도록 하고 싶은 코드 블럭이 있는 경우에 사용한다.
5. 예제
#!/usr/bin/env python3
#*-* coding: utf-8 -*-
"""
오늘 배운 내용을
총정리 해보자
"""
# main 함수
def main():
print('안녕하세요.')
if __name__ == '__main__':
main()