본문 바로가기

Programming Language/Python

Python의 인터프리터(interpreter) 언어적 특성

* Python과 C, C++의 차이

컴파일러 쓰는 언어와 인터프리터를 쓰는 언어의 차이

- 컴파일러는 소스 코드를 기계어로 미리 번역해 둘 때 사용하는 프로그램이다. 속도 더 빠르다. (C, C++)

- 인터프리터는 실행이 필요할 때 소스 코드를 실시간으로 해석해서 그에 맞는 명령을 컴퓨터에게 지시하는 프로그램이다. (Python)

* 모듈과 시작점

if __name__ == '__main__':

__name__: 모듈의 이름이 저장되는 변수

import로 모듈을 가져왔을 때 모듈의 이름이 들어간다

하지만 python 인터프리터로 스크립트 파일을 실행하면 모듈의 이름이 아니고 __main__이 들어간다.

어떤 스크립트 파일이든 파이썬 인터프리터가 최초로 실행한 스크립트 파일의 __name__에는 '__main__'이 들어간다

-> 이는 프로그램의 시작점(entry point)라는 의미이다.

 

- 파이썬은 자동으로 실행되는 메인함수가 없다

- 파이썬은 최초로 시작하는 스크립트 파일과 모듈의 차이가 없다.

- 어떤 스크립트 파일이든 시작점도 될 수 있고, 모듈도 될 수 있다.

- 그래서 __name__ 변수를 통해 현재 스크립트 파일이 시작점인지 모듈인지 판단한다.

- if __name__ == '__main__': 코드는 현재 스크립트 파일이 프로그램의 시작점이 맞는지 판단하는 작업이다.

즉, 파이썬은 프로그램의 시작점이 정해져 있지 않아서 확인해주어야 한다.

​--> 스크립트 파일메인 프로그램으로 사용될 때와 모듈로 사용될 때를 구분하기 위한 용도

 

- 이는 스크립트 파일을 그대로도 실행할 수 있고, 모듈로도 사용할 수 있도록 한다.

 

 

출처: https://dojang.io/mod/page/view.php?id=2448

 

파이썬 코딩 도장: 45.2 모듈과 시작점 알아보기

인터넷에 있는 파이썬 코드를 보다 보면 if __name__ == '__main__':으로 시작하는 부분을 자주 만나게 됩니다. if __name__ == '__main__':     코드 도대체 이 코드는 왜 사용하는 것일까요? 이 코드는 현재 스크립트 파일이 실행되는 상태를 파악하기 위해 사용합니다. 먼저 __name__부터 알아보겠습니다. 다음 내용을 프로젝트 폴더(C:\project) 안에 hello.py 파일로 저장하세요. hello.py pri

dojang.io