파이썬에서 import 파일 만들기. if __name__ == "__main__" 알아보기. main의 의미?

2023. 8. 11. 11:41python

반응형

파이썬에 

if __name__ == "__main__"

이런게 있다.

 

파이썬의 파일 이름에는 __name__이라는 변수가 기본적으로 있다고 한다. 한 번 볼까.

def test_hello():
    print('hello test_mok')

test_mok.py라는 파일.

 

import test_mok


test_mok.test_hello()

그리고 같은 폴더 안에서 낙서장.py 라는 것을 만들어서 import test_mok 하면 가져온다.

그리고 그 py 안에 정의되어 있는 것을 가져오면 성공. 그리고 __name__이란게 있는지 확인하려면?

import test_mok


print(dir(test_mok))

이렇게 써보면 된다. dir은 그 객체나 파일이 어떤 변수나 메소드가 있는지에 대한 것을 알려준다.

이렇게 하니까 __name__이라는 변수가 있고, 다른 변수들도 있고. 내가 아까 메소드로 정한 test_hello 라는 것도 있다.

 

그러면 여기에 __name__이라는게 있는데, 이거는 만약 내가 test_mok.py라는 파일 자체를 run 하게 되면 "__main__"이라는 것이 __name__의 변수 이름이 된다. __main__은 내가 지금 실행한 파일이 main. 그러니까 처음 실행되는 진입점이라는 의미이다.

 

그럼 if __name__ == "__main__"의 의미는? 이것을 쓴 해당 파일이 main, 그러니까 이것을 run을 했으면~ 이라는 의미겠지.

그 해당 파일이 메인이 되면 if 뎁스 이하의 로직이 실행될 것이다.

 

 

728x90