반응형

스크립트와 모듈 정리

스크립트 : 프로그램을 작동시키는 코드를 담은 실행 용도의 파일
모듈 : 프로그램에 필요한 변수들이나 함수들의 정의해 놓은 파일

 

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

+ Recent posts