반응형
Jen'_'
Jen's Space
Email
GitHub
전체 방문자
오늘
어제
  • 분류 전체보기 (98)
    • Ansible (4)
      • 우아한앤서블 (4)
    • Cloud (19)
      • AWS (17)
      • GCP (2)
    • DevOps (40)
      • Docker (6)
      • Kubernetes (26)
      • CICD (6)
      • Terraform (2)
    • Language (13)
      • Python (12)
      • Node.js (1)
    • Linux (10)
    • etc. (7)
    • 개인기록 (1)
    • AEWS (4)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

  • 피드백 환영합니다 :)

인기 글

태그

  • AWS
  • argocd
  • 쿠버네티스
  • gitops
  • jenkins
  • ubuntu
  • terraform
  • INGRESS
  • k8s
  • autoscaling
  • CICD
  • karpenter
  • 자격증
  • vagrant
  • Docker
  • ALB
  • EKS
  • Kubernetes
  • ansible
  • 우아하게앤서블

최근 댓글

Jen'_'

Jen's Space

Python 강의 정리 8. if __name__ == "__main__":
Language/Python

Python 강의 정리 8. if __name__ == "__main__":

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__
Colored by Color Scripter
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
Colored by Color Scripter
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
    'Language/Python' 카테고리의 다른 글
    • Python으로 Slack에 메세지 전송하는 방법(Incoming Webhooks)
    • Python 강의 정리 마지막. 클래스
    • Python 강의 정리 7. 튜플, 람다(map(),filter() 예제)
    • Python 강의 정리 6. 함수
    Jen'_'
    Jen'_'
    DevOps 엔지니어 Jen의 기술 블로그 / 이메일: jenakim47@gmail.com

    티스토리툴바