지금까지 파이썬은 구글 colab에서 실행 또는 VScode에서 파이썬파일을 만들고 실행버튼을 눌러 그 동작을 확인했다.
이번부터는 터미널에서 파이썬을 실행, 자연스럽게 해당 조건문에 대한 의구심이 생겨 정리하고자 한다
if __name__ == “__main__”
모듈을 실행할 수 있는 방법은
1)직접 실행하거나
2)임포트하거나.
예를들어 second.py 라는 파일안에 아래와 같이 저장해놓고
def second():
for i in range(1,51):
if i%3==0 and i%5==0:
print(i)
if __name__ == "__main__":
second()
인터프린터에서
1) python 명령시
=> python 실행
2) second.py (또는 second) 명령시
=> 오류
3) python second.py 명령시
=>작동
다시 second.py 을 아래와 같이 수정한 다음
def second():
for i in range(1,51):
if i%3==0 and i%5==0:
print(i)
인터프린터에서
1) second.py (또는 second) 명령시
=> 오류
3) python second.py 명령시
=> 입력은 되지만 실행되지 않음
왜???
따라서 처음에 궁금했던 해당 코드는 '만일 이 파일이 인터프리터에 의해서 실행되는 경우라면' 이라는 의미
(위 코드는 인터프리터에 의해서 직접 실행될 경우에만 실행하도록 하고 싶은 코드 블럭이 있는 경우에 사용)
(__name__ = interpreter가 실행 전에 만들어 둔 글로벌 변수)
# Filename: using_name.py
if __name__ == '__main__':
print ('This program is being run by itself')
else:
print ('I am being imported from another module')
$ python using_name.py
This program is being run by itself
$ python
>>> import using_name
I am being imported from another module
>>>
이미지 출처 : i.ytimg.com/vi/sugvnHA7ElY/maxresdefault.jpg
728x90
'AI월드 > ⚙️AI BOOTCAMP_Section 3' 카테고리의 다른 글
python 기본문법(리스트,튜플,딕셔너리)_Day46(2) (0) | 2021.03.11 |
---|---|
truty and falsy,python_Day46(3) (0) | 2021.03.11 |
pipenv, 파이썬 전용 가상환경 만들기 (0) | 2021.03.11 |
git, conda(가상환경), docker, SQL 개념혼동_Day41~44 (0) | 2021.03.09 |
SQL 명령어 정리(2)_Day44(5) (0) | 2021.03.09 |
댓글