-
20220924_TIL : Python __name__, __init__.pyTIL 2022. 9. 24. 16:48
#1 서론
어제 배운 내용에 이어서 모듈의 __name__ 변수와 __init__.py 파일을 알아봤다.
#2 본론
#2-1 __name__
파이썬의 내장변수인 __name__은 모듈이 직접적으로 실행될 때는 "__main__"이라는 값을 갖게 되고, 다른 파일에 import 됐다면 [파일명]을 갖게 된다.
그래서 모듈이 직접 실행될 때만 실행될 코드를 다음과 같이 작성할 수 있다.
if __name__ == '__main__':
print('파일 직접 실행됨')이를 또 응용해서 코드를 깔끔하게 쓸 수 있다.
=> 파일을 직접 실행했을 때만 실행할 코드를 main() 함수에 저장하면 된다.
예시)
def main():
[실행하고 싶은 코드]
if __name__ == '__main__':
main()#2-2 __init__.py
기본으로 알아야 하는 것은 패키지를 import 하면 맨 처음으로 __init__.py가 실행된다는 것이다.
그러므로 __init__.py에서 변수나 함수를 정의해주고, 패키지 안에서 import 해주면 그것들을 자유롭고 깔끔하게 사용할 수 있다. 그리고, 스크립트에서 패키지만 import 했을 때 패키지 안의 모듈들을 자동으로 불러오고 싶다면 다음과 같이 작성할 수 있다.
#__init__.py
import [모듈명]
from [모듈명] import [함수명]#3 결론
보론의 __name__변수 말고도 다른 내장 변수들이 있던데 한번씩 살펴보면 좋을것 같다. (__all__)
#4 참고자료
https://lovelydiary.tistory.com/297, https://daun.io/til/2017/01/12/Python-built-in-variables/, https://www.codeit.kr/topics/python-module-and-package
'TIL' 카테고리의 다른 글
20220926_TIL : git add 명령어를 쓰는 이유 (0) 2022.09.26 20220925_TIL : git 시작하기 and 첫 commit하기 (0) 2022.09.25 20220923_TIL : python 모듈과 패키지 import (0) 2022.09.23 20220922_TIL : Mysql 여러 컬럼을 동시체크하여 중복 불가하게 만들기 (0) 2022.09.22 20220920_TIL : Mysql에 관해 잡것들 (0) 2022.09.20