티스토리 뷰
스크립트가 파이썬 인터프리터 명령어로 패싱되어 실행되면(python myscript.py같이) 다른 언어들과는 다르게, 파이썬은 자동으로 실행되는 메인함수가 없습니다. 파이썬은 메인 함수가 없는 대신 들여쓰기 하지 않은 모든 코드(level 0코드)를 실행합니다 다만, 함수나 클래스는 정의되었지만, 실행되지는 않습니다
질문하신 경우, 최 상위 코드는 if 블록이고, __name__
은 현재 모듈의 이름을 담고있는 내장 변수입니다. python myscript.py 같이 이 모듈이 직접 실행되는 경우에만,__name__ 은 "__main__"
으로 설정됩니다.
따라서 질문자의 코드가 다른 모듈에 의해 import된 경우 함수와 객체의 정의는 import되지만 __name__
이 "__main__"
이 아니기 때문에 if문은 실행되지 않습니다.
def foo():
print("function in m.py")
if __name__ == "__main__":
print("run this file")
else:
print("import this file")
'python lecture > basic' 카테고리의 다른 글
[edu] curriculum (0) | 2019.01.29 |
---|---|
[edu] enumerate (__iter__, __getitem__, __len__) (0) | 2019.01.29 |
[edu] 정규표현식 (regex) (0) | 2019.01.29 |
[edu] sqlite3 (db, sql) (0) | 2019.01.28 |
[edu] map 함수 (builtins, lambda, list) (0) | 2019.01.28 |
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- pycrypto
- chatbot
- admin.py
- wsgi
- 파이썬
- gitlab
- 장고
- 엑셀 비교
- django chatbot
- 문서 비교
- virtualenv
- 면접답변
- 플러스친구 자동응답
- 문과 코딩
- 파이썬 입문
- django
- 모바일 스킨 적용
- Tistory
- 파이썬 독학
- 모바일 테마 적용
- 파이썬 강좌
- 이미지 비교
- 면접정답
- 파이썬 프로그래밍
- Python
- gitignore
- 장고 카톡 자동응답
- PuTTYGen
- 장고 플러스친구 자동응답
- GIT
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
글 보관함