Notice
Recent Posts
Recent Comments
Link
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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 |
Tags
- Stack
- 윤성우의 열혈 자료구조
- Algorithm
- datastructure
- 이스케이프 문자
- C programming
- s
- buffer
- Selection Sorting
- 이것이 자바다
- 윤성우 열혈자료구조
- stream
- coding test
- R
- 알기쉬운 알고리즘
- Serialization
- 메모리구조
- list 컬렉션
- insertion sort
- C 언어 코딩 도장
- JSON
- 혼자 공부하는 C언어
- Graph
Archives
- Today
- Total
Engineering Note
[Python] 파이썬의 특별한 변수 __name__ 본문
__name__
: 파이썬의 기본 내장 변수로 특별한 변수
: 현재 스크립트 파일이 모듈로 사용되지 않고 실행파일로 사용되면 __name__은 __main__이 저장되고, 모듈로서 실행되면 __name__은 파일명으로 저장된다.
app.py
# app.py
print("app name",_name__)
print("hello1")
if __name__ == "__main__":
print("hello2")
python app.py
으로 실행을 하면 app.py가 메인 스크립트로 실행이 되는 것이고 __name__변수에는 __main__이 있다.
하지만

app.py와 같은 디렉토리 위치에
아래처럼 test.py라는 파이썬 프로그램을 만들고
# test.py
import app
print("app __name__:",app.__name__)
print("test __name__",__name__)
test.py에는 위에서 만든 app.py가 모듈로서 import 되어 있다.
여기서 python test.py로 실행을하면 app.py가 실행이 되는데 이때 main으로 실행되는 것이 아니기 때문에 app.py의 __name__ 변수는 __main__이 아니고 파일명인 app이 되고 아래의 if __name__ == "__main__": 이 실행되지 않는다.
그리고 test의 에서 __name__ 변수가 __main__이 된다.

'Programming Language > Python' 카테고리의 다른 글
| [Python] sorted 와 sort 차이 (0) | 2021.12.30 |
|---|---|
| [Python] combinations, permutations 함수 (0) | 2021.12.30 |
| [Python] sqlalchemy, pymysql 비교 테스트 (0) | 2021.11.27 |
| [Python] 파이썬 함수호출 변수 저장 오류 (0) | 2021.11.18 |
| [Python] 리스트의 복사 (0) | 2021.09.25 |
Comments