320x100
먼저 라이브러리나 다른 사람의 소스코드를 보면 아래와 같은 코드를 자주 보았을 것이다.
if __name__ == "__main__":
이 코드는 의도치 않게 모듈(스크립트)을 호출할 때 실수로 명령이 실행되는 것을 막기위한 것이다
조금만 자세히 설명하자면
나는 계산기 프로그램을 만들것이고 myCalc.py라는 페이지를 작성하였다.
더하기 함수를 아래와 같이 작성하였고 테스트하기위해 최하단에 더하기 함수를 호출하였다고 가정하자
- myCalc.py
def add(x, y):
return x+y
print(add(5, 3))
실행은 예상과 같이 8이 나왔고 이 스크립트를 모듈화 할 것이다.
이제 main페이지에서 myCalc.py를 불러온다.
- main.py
import myCalc
myCalc.add(10, 20)
실행해보면 30이 나와야하지만 실제로는 8과 30이 나온다.
그러면 이번엔 myCalc를 조금 수정해본다
- myCalc.py
def add(x, y):
return x+y
if __name__ == "__main__":
print(add(5, 3))
그리곤 다시 main.py를 실행해보면 이전에 출력되던 8이 출력되지 않는다.
즉, if __name__ == "__main__":이란 내가 직접 실행한 스크립트일 때 수행하는 제어문인 것이다.
다시말하면 myCalc 스크립트를 직접 실행하면 8이 출력되지만 myCalc를 호출하면 __name__의 값이 "myCalc"가 되기 때문에 false의 결과를 낳는다.
반응형
'프로그래밍 > Python' 카테고리의 다른 글
[파이썬 독학] 2. 파이참(PyCharm) 설치 (0) | 2022.06.26 |
---|---|
[파이썬 독학] 1. 파이썬 설치하기&실행하기 (0) | 2022.06.25 |
[Python] 티스토리 API 자동 글쓰기 (7) | 2022.05.11 |
[Python] 구글클라우드를 이용한 오디오 파일 자막 추출 (0) | 2022.05.01 |
[Python] .csv 파일 데이터 읽어오기 (0) | 2022.03.27 |
댓글