* 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
'Programming Language > Python' 카테고리의 다른 글
Anaconda 사용법 (0) | 2020.10.30 |
---|---|
Python 슬라이스 (0) | 2020.03.05 |
Python에서 파일 읽기, 쓰기 (0) | 2020.01.21 |
conda environment - CommandNotFoundError: Your shell has not been properly configured to use 'conda activate'. (0) | 2020.01.02 |
python opencv - window 위치 조절하기 (0) | 2019.12.31 |