티스토리 뷰
파이썬의 스크립트 특성과 객체 지향 프로그래밍 모델 때문에 파이썬에서 "main" 메소드의 개념은 C나 C++의 main 함수와 완전히 다르다. C 또는 C++는 실행하기 위해 반드시 main 함수가 필요하지만 파이썬은 그렇지 않다. 그러나 스크립트를 독립 실행형 프로그램으로 실행할 때 시작점을 제공하고 스크립트를 다른 스크립트의 모듈로 가져올 때 실행해서는 안 되는 코드 부분을 구분하기 위해 C 또는 C++의 main 함수와 유사한 구조가 아래처럼 파이썬에서 자주 사용된다.
def main():
# Your main code here
print("Hello, world!")
if __name__ == "__main__":
main()
- def main()
: 파이썬에서 main이라는 함수를 정의하는 부분이다. 이 함수에서 스크립트가 직접 실행될 때 (다른 스크립트의 모듈로 가져오지 않고) 실행할 코드가 포함되어 있다. 함수의 이름은 반드시 main일 필요가 없다. - if __name__ == "__main__":
: 스크립트가 메인 main 프로그램으로 실행되고 있는지 여부를 확인하는 특수 조건이다. 위 코드에서 파이썬 스크립트가 직접 실행될 때 특수 변수 __name__을 "__main__"으로 설정했다. 스크립트를 다른 스크립트에서 import 하는 경우 __name__은 스크립트나 모듈의 이름이 된다. 이 메커니즘을 통해 스크립트는 실행 컨텍스트를 확인하고 모듈로 가져오지 않을 때만 특정 코드(예: main() 호출)를 실행할 수 있다.
아래는 위 파이썬 코드와 같은 결과를 보여주는 C 코드다.
#include <stdio.h>
int main() {
printf("Hello, world!\n");
return 0;
}
참고
반응형
'기술(Tech, IT) > 파이썬(Python)' 카테고리의 다른 글
[Tech, Python] \b (정규식) (0) | 2024.03.14 |
---|---|
[Tech, Python] re.group() (3) | 2024.03.13 |
[Tech, Python] re.compile() (0) | 2024.03.08 |
[Tech, Python] re.escape (0) | 2024.03.02 |
[Python] raw strings (0) | 2024.01.07 |
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- 이코노미스트
- The Economist
- 머신 러닝
- leetcode
- 소켓 프로그래밍
- 오블완
- Computer Graphics
- java
- ml
- 투 포인터
- tf-idf
- min heap
- C++
- 리트코드
- The Economist Espresso
- Python
- 딕셔너리
- 이코노미스트 에스프레소
- Android
- DICTIONARY
- socket programming
- 티스토리챌린지
- I2C
- 안드로이드
- Hash Map
- defaultdict
- join
- machine learning
- 파이썬
- vertex shader
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
글 보관함
반응형