반응형
스크립트와 모듈 정리
스크립트 : 프로그램을 작동시키는 코드를 담은 실행 용도의 파일
모듈 : 프로그램에 필요한 변수들이나 함수들의 정의해 놓은 파일
name 특수 변수
name이란?
__name__은 모듈의 이름을 저장해 놓은 변수입니다.
__name__의 값은 파이썬이 알아서 정해줍니다.
파일을 직접 실행하면 __name__은 __main__으로 설정됩니다.
파일을 임포트하면 __name__은 모듈 이름으로 설정됩니다.
if __name__ == '__main__'
__name__을 사용하면 파일이 직접 실행되냐 아니면 임포트 되냐에 따라서 코드의 흐름을 제어할 수 있습니다.
파일이 직접 실행될 때만 실행하고 싶은 코드는 if __name__ == '__main__' 이라는 조건문 안에 넣어주면 됩니다.
main() 함수
파이썬에서는 모든 파일을 실행할 수 있습니다.
파일을 실행하면 파일에 있는 모든 코드가 처음부터 끝까지 실행됩니다.
하지만, JAVA나 C, C++ 같은 언어는 그렇지 않씁니다.
JAVA나 C, C++ 같은 언어들에서는 어떤 파일을 실행하기보다는 파일 안에 있는 'main()'이라는 함수를 실행합니다.
main 함수는 말 그대로 '함수'로서 프로그램을 작동시키는 코드를 담고 있습니다.
파이썬에서도 이 프로그래밍 패턴을 사용할 수 있습니다.
main.py |
def main(): print("메인 함수") if __name__ == '__main__': main() |
if__name__ == '__main__' 안에 있는 코드는 파일이 직접 실행될 때만 실행되니깐 그 안에서 main 함수를 호출해주면 됩니다.
이렇게 main 함수를 사용하면 파일에서 프로그램을 작동시키는 코드가 어디 있는지 쉽게 알 수 있기 때문에
코드의 흐름과 의도를 더 쉽게 이해할 수 있어 가독성이 올라갑니다.
반응형
'Python' 카테고리의 다른 글
[Python]__init__파일 (0) | 2021.06.25 |
---|---|
[Python]패키지(Package) (0) | 2021.06.24 |
[Python]유용한 스탠다드 모듈들 (0) | 2021.06.20 |
[Python]모듈(Module) (0) | 2021.06.19 |
[Python]에일리어싱(Aliasing) (0) | 2021.06.18 |