반응형
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 는 같은 디렉터리에 있어야 한다)
파이썬 라이브러리는 파이썬을 설치할 때 자동으로 설치되는 파이썬 모듈을 말한다
반응형
'Language > Python' 카테고리의 다른 글
Python으로 Slack에 메세지 전송하는 방법(Incoming Webhooks) (0) | 2023.06.13 |
---|---|
Python 강의 정리 마지막. 클래스 (0) | 2021.05.03 |
Python 강의 정리 7. 튜플, 람다(map(),filter() 예제) (0) | 2021.05.03 |
Python 강의 정리 6. 함수 (0) | 2021.05.03 |
Python 강의 정리 5. 리스트 뒤집기, enumerate() 함수 (0) | 2021.05.02 |