Python 모듈

배추·2025년 11월 23일

🐍 Python

목록 보기
14/19

Python의 모듈 대해 알아봅니다.


▶︎모듈

  • 모듈: 함수나 변수 또는 클래스를 모아 놓은 파이썬 파일. 다른 파이썬 프로그램에서 불러와 사용할 수 있도록 만든 파이썬 파일.
  • 다른 사람들이 이미 만들어 놓은 모듈을 사용할 수도 있고 우리가 직접 만들어 사용할 수도 있다.

▶︎모듈 만들기

  • 파이썬 확장자 .py로 만든 파이썬 파일은 모두 모듈이다.
# mod1.py
def add(a, b):
    return a + b

def sub(a, b): 
    return a-b

# 이 mod1.py 파일이 바로 모듈이다.

▶︎모듈 불러오기

  • import
    • 이미 만들어 놓은 파이썬 모듈을 사용할 수 있게 해 주는 명령어.
    • import는 현재 디렉터리에 있는 파일이나 파이썬 라이브러리가 저장된 디렉터리에 있는 모듈만 불러올 수 있다.
  • 파이썬 라이브러리: 파이썬을 설치할 때 자동으로 설치되는 파이썬 모듈.
import mod1

print(mod1.add(3, 4)) # 7
print(mod1.sub(4, 2)) # 2
  • mod1. py 파일에 있는 add 함수를 사용하기 위해서는 mod1.add처럼 모듈 이름 뒤에 도트 연산자(.)를 붙이고 함수 이름을 쓰면 된다.

import 사용법

  • 모듈 이름은 파일이름.py에서 .py 확장자를 제거한 파일이름만을 가리킨다.
    import 모듈_이름
  • 모듈 이름 없이 함수 이름만 쓸 수 있다.
    from 모듈_이름 import 모듈_함수
  • 모듈 이름 없이 함수 이름만 쓸 수 있다.
    from 모듈_이름 import 모듈_함수
    from 모듈_이름 import 모듈_함수1, 모듈_함수2
  • 모듈의 모든 함수를 불러와 사용 하고 싶을 때.
      • 문자는 '모든 것'
        from mod1 import *

클래스나 변수 등을 포함한 모듈

  • 모듈은 함수 뿐만 아니라, 클래스나 변수 등을 포함할 수도 있다.
# mod2.py
PI = 3.141592

class Math: 
    def solv(self, r): 
        return PI * (r ** 2) 

def add(a, b): 
    return a+b 
    
# 클래스, 함수, 변수를 모두 포함
# mod2 사용
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

▶︎if name == "main":

# mod1.py
def add(a, b): 
    return a+b

def sub(a, b): 
    return a-b

print(add(1, 4))
print(sub(4, 2))
  • mod1.py 파일을 실행 시 함수 실행 결과값이 출력된다.
  • 그런데 이 mod1.py 파일의 add와 sub 함수를 사용하기 위해 mod1 모듈을 import할 때도 mod1.py 파일이 실행되어 결괏값을 출력한다.
  • if __name__ == "__main__":를 사용 시
    • 직접 이 파일을 실행했을 때는 __name__ == "__main__"이 참이 되어 if 문 다음 문장이 수행된다.
    • 반대로 대화형 인터프리터나 다른 파일에서 이 모듈을 불러 사용할 때는 __name__ == "__main__"이 거짓이 되어 if 문 다음 문장이 수행되지 않는다.

__name__ 변수

  • 파이썬의 __name__ 변수는 파이썬이 내부적으로 사용하는 특별한 변수 이름이다.
  • 만약 C:\python mod1.py처럼 직접 mod1.py 파일을 실행할 경우, mod1.py의 __name__ 변수에는 __main__ 값이 저장된다.
  • 하지만 파이썬 셸이나 다른 파이썬 모듈에서 mod1을 import할 경우에는 mod1.py의 __name__ 변수에 mod1.py의 모듈 이름인 mod1이 저장된다.
import mod1

mod1.__name__ # 'mod1'

▶︎다른 디렉터리에 있는 모듈을 불러오는 방법

sys.path.append

  • sys 모듈: 파이썬을 설치할 때 함께 설치되는 라이브러리 모듈.
  • sys.path
    • 파이썬 라이브러리가 설치되어 있는 디렉터리 목록을 보여 준다.
    • 이 디렉터리 안에 저장된 파이썬 모듈은 모듈이 저장된 디렉터리로 이동할 필요 없이 바로 불러 사용할 수 있다.
    • sys.path는 리스트.
  • sys.path.append를 사용해서 sys.path에 디렉터리를 추가하면 추가된 디렉터리에 저장된 파이썬 모듈을 어디서든 불러 사용할 수 있다.
sys.path.append("C:/doit/mymod")

PYTHONPATH 환경 변수 사용하기

  • set 명령어를 사용해 PYTHONPATH 환경 변수에 mod2.py 파일이 있는 C:\doit\mymod 디렉터리를 설정한다. 그러면 디렉터리 이동이나 별도의 모듈 추가 작업 없이 mymod 디렉터리에 저장된 mod2 모듈을 불러와서 사용할 수 있다.
  • 맥이나 유닉스 환경에서는 set 대신 export 명령을 사용.
C:\doit>set PYTHONPATH=C:\doit\mymod
profile
난 🥬

0개의 댓글