반응형
모듈(Module)이란?
- 파이썬에서 모듈(Module)이란 하나의 파이썬 파일(.py 파일)을 의미하며, 반면에 패키지(Package)란 이러한 모듈들이 여러 개 모여있는 것을 가리킨다.
- 모듈은 함수나 변수 또는 클래스들을 모아 놓은 파이썬 파일로, 다른 사람들이 이미 만들어 놓은 모듈을 사용할 수도 있고 우리가 직접 만들어서 사용할 수도 있다.
모듈 만들기
- add와 sub함수를 가진 mod1.py 파일이 바로 모듈이다.
# mod1.py
def add(a, b):
return a + b
def sub(a, b):
return a-b
모듈 사용하기
- import 모듈명 : 이미 만들어진 파이썬 모듈을 사용하려면 import 명령어를 사용해 해당 파일의 확장자는 제외하고 해당 모듈을 불러들인다.
- import는 현재 디렉터리에 있는 파일이나 파이썬 라이브러리가 저장된 디렉터리에 있는 모듈만 불러올 수 있다.
>>> import mod1 # import 모듈이름
>>> print(mod1.add(3, 4)) # 파일 내 함수 사용법: 모듈이름.함수이름
7
>>> print(mod1.sub(4, 2))
2
- from 모듈명 import 함수명: 모듈에서 특정 함수만 골라서 import 할 수 있다.
>>> from mod1 import add
>>> from mod1 import add, sub # 여러개의 함수 사용하고 싶을 때
>>> from mod1 import * # 모든 함수를 불러서 사용하겠다는 뜻
>>> add(3, 4) # 모듈명 없이 바로 함수명 입력
7
클래스나 변수 등을 포함한 모듈
# 클래스와 변수를 포함한 모듈 mod2.py
>>> PI = 3.141592 # 변수
>>> class Math: # 클래스 - 원의 넓이를 계산
>>> def solv(self, r):
>>> return PI * (r ** 2)
>>> def add(a, b): # 두 값을 더하는 add 함수
>>> return a+b
# 파일 이름을 mod2.py로하고 저장
# mod2.py 사용
>>> import mod2
>>> print(mod2.PI) # mod2.py 파일 내 PI 변수값 사용
3.141592
>>> a = mod2.Math()
>>> print(a.solv(2)) # 클래스 이용, 모듈이름.클래스이름
12.566368
다른 파일에서 모듈 불러오기
# modtest.py
>>> import mod2 # mod2모듈을 불러와서 사용
>>> result = mod2.add(3, 4) # 예제가 정상적으로 실행되기 위해서는
>>> print(result) # modtest.py과 mod2.py이
# 동일한 디렉터리(c:\doit)에 있어야 함
① 모듈을 저장한 디렉터리 사용하기 - sys.path.append()
# 1. mod2.py 파일을 C:\doit\mymod 로 이동
C:\Users\pahkey>cd C:\doit
C:\doit>mkdir mymod
C:\doit>move mod2.py mymod
# 2. sys.path.append()
>>> import sys
>>> sys.path # 파이썬 라이브러리가 설치된 디렉터리 내용
['', 'C:\\Windows\\SYSTEM32\\python37.zip', 'c:\\Python37\\DLLs',
'c:\\Python37\\lib', 'c:\\Python37', 'c:\\Python37\\lib\\site-packages']
>>> sys.path.append("C:/doit/mymod") # 모듈 있는 폴더 추가
>>> sys.path
['', 'C:\\Windows\\SYSTEM32\\python37.zip', 'c:\\Python37\\DLLs',
'c:\\Python37\\lib', 'c:\\Python37', 'c:\\Python37\\lib\\site-packages',
'C:/doit/mymod']
② PYTHONPATH 환경 변수 사용하기
C:\doit>set PYTHONPATH=C:\doit\mymod # set은 PYTHONPATH 환경 변수에
C:\doit>python # mod2.py파일이 있는
# C:\doit\mymod 디렉터리 설정
>>> import mod2 # 디렉터리 이동이나 별도 모듈 추가 없이
>>> print(mod2.add(3,4)) # mod2 모듈을 불러와서 사용 가능
7
Reference
반응형
'Data > Python' 카테고리의 다른 글
[Python] 파이썬 패키지 - import/__init__.py 및 경로로 불러오기 (0) | 2023.06.17 |
---|---|
[Python] if __name__ == "__main__"의 뜻 (0) | 2023.06.17 |
[Python] 파이썬 객체 정보 은닉 - Public, Private, Protected (0) | 2023.06.17 |
[Python] 파이썬 클래스 - 상속과 오버라이딩, super (0) | 2023.06.17 |
[Python] 파이썬 클래스 - 변수와 메소드 (0) | 2023.06.17 |