Language/Python
Python 강의 정리 8. if __name__ == "__main__":
Jen'_'
2021. 5. 3. 11:14
반응형
if __name__ == "__main__": 의 의미
- 해당 모듈이 임포트된 경우가 아니라 인터프리터에서 직접 실행된 경우에만, if문 이하의 코드를 돌리라는 명령이다.
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
|
# test_module.py
PI = 3.141592
def number_input():
output = int(input("숫자입력> "))
return float(output)
def get_circumference(radius):
return 2 * PI * radius
def get_circle_area(radius):
return PI * radius * radius
if __name__=="__main__":
print(get_circumference(10)
print(get_circle_area(10))
print("직접 실행")
print(__name__)
else:
print("임포트되어 사용됨")
print(__name__)
------------
(result)
PS C:\Users\Kim> & python c:/Users/Kim/Desktop/Python/test_module.py
62.83184
314.1592
직접 실행
__main__
|
cs |
test_module.py 은 반지름 값을 입력받아 원의 둘레와 넓이를 구하는 모듈이다
결과를 보면 if __name__=="__main__": 이 실행되어서 반지름에 10이 들어갔다
인터프리터에서 직접 실행하면 __name__ 변수에 "__main__" 이 담기기 때문이다!
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
# main.py
import test_module as test
radius = test.number_input()
print(test.get_circumference(radius))
print(test.get_circle_area(radius))
-----
(result)
PS C:\Users\Kim> & python c:/Users/Kim/Desktop/Python/main.py
임포트되어 사용됨
test_module
숫자입력> 3
18.849552000000003
28.274328000000004
|
cs |
main.py 에 test_module 을 임포트 하였다
외부 모듈을 임포트 하면 해당 모듈의 기능을 사용할 수 있다!
__name__에는 "__test_module(외부모듈)__" 이 담겨서 else 부분이 실행되었다(임포트 하자마자 모듈이 실행됨)
그 후 모듈의 기능을 사용한 main.py 의 코딩이 실행된다
※ import
import는 현재 디렉터리에 있는 파일이나 파이썬 라이브러리가 저장된 디렉터리에 있는 모듈만 불러올 수 있다(즉, main.py 와 test_module.py 는 같은 디렉터리에 있어야 한다)
파이썬 라이브러리는 파이썬을 설치할 때 자동으로 설치되는 파이썬 모듈을 말한다
반응형