2. 모듈
■ 모듈
- 모듈이란 변수 또는 클래스를 모아놓은 파일이다.
- 모듈은 다른 파이썬 프로그램에서 불러와 사용할 수 있게끔 만든 파이썬 파일이다.
■ 모듈 만들기
- 모듈 생성
# mod1.py
def add(a, b):
return a + b
def sub(a, b):
return a-b
- mod1이라는 모듈에 add와 sub라는 함수를 생성했다.
※ .py 확장자를 가지는 파이썬 파일들은 모두 파이썬 모듈이다.
■ 모듈 불러오기
- 모듈을 불러올 때는 해당 모듈이 위치하는 곳에서 import를 사용해서 불러올 수 있다.
# mod1 모듈 사용예제
# import {모듈이름}
import mod1
print(mod1.add(3, 4)) # 7
print(mod1.sub(4, 2)) # 2
- import는 현재 디렉터리에 있는 파일이나 파이썬 라이브러리가 저장된 디렉터리에 있는 모듈만 불러올 수 있다.
- 파이썬 라이브러리는 파이썬을 설치할 때 자동으로 설치되는 파이썬 모듈을 말한다.
- from을 사용해서 모듈 전체가 아니라 모듈 내부에 있는 함수들만 불러올 수도 있다.
# mod1 모듈에서 add와 sub함수를 불러온다.
from mod1 import add, sub
print(3, 4) # 7
- *을 사용해서 해당 모듈의 모든 함수를 불러올 수 있다.
# mod1 모듈의 모든 함수를 불러오기.
from mod1 import *
■ if __name__ == "__main__"
- __name__
• 파이썬 내부적으로 사용하는 특별한 변수 이름이다.
• mod1.py 파일을 실행할 경우, mod1.py의 __name__ 변수에는 __main__ 값이 저장된다.
• 파이썬 셀이나 다른 모듈에서 mod1을 import 할 경우에는 mod1.py의 __name__ 변수는 mod1.py의 모듈 이름 값 mod1이 저장된다.
- if __name__ == "__main__" 조건문은 해당 모듈을 import가 아닌 직접 실행하는 경우에만 실행할 라인들을 표현하기 위해 사용한다.
■ 클래스나 변수 등을 포함한 모듈
- mod2.py 모듈 생성
# mod2.py
PI = 3.141592
class Math:
def solv(self, r):
return PI * (r ** 2)
def add(a, b):
return a+b
- 앞의 함수와 같이 import를 통해서 모듈을 불러와서 클래스나 변수를 사용할 수 있다.
import mod2
print(mod2.PI) # 3.141592
a = mod2.Math()
print(a.solv(2)) # 12.566368
print(mod2.add(mod2.PI, 4.4)) # 7.541592
※ sys.path에 모듈의 위치를 append하거나 PYTHONPATH에 모듈의 위치를 저장하면 해당 파일위치로 이동하지 않아도 모듈을 불러올 수 있다.
'프로그래밍언어 > Python' 카테고리의 다른 글
ch05. 파이썬 날개달기 (내장함수, 라이브러리) (0) | 2021.03.06 |
---|---|
ch05. 파이썬 날개달기 (패키지, 예외처리) (0) | 2021.03.01 |
ch05. 파이썬 날개달기 (클래스) (0) | 2021.02.22 |
ch04. 파이썬 프로그래밍 프로그램 입출력 (파일 읽고 쓰기) (0) | 2021.02.21 |
ch04. 파이썬 프로그래밍 프로그램 입출력 (사용자 입출력) (0) | 2021.02.20 |