Data/Python

[Python] 파이썬 모듈 - 정의, 생성 및 불러오기

재은초 2023. 6. 17. 22:20
반응형

모듈(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

반응형