-
[python] 모듈, 패키지파이썬 2023. 8. 26. 21:14
모듈
- 함수나 변수 또는 클래스를 모아 놓은 파이썬 파일이다.
- import는 현재 디렉터리에 있는 파일이나, 파이썬 라이브러리가 저장된 디렉터리에 있는 모듈(파이썬 설치할 때 자동으로 설치되는 모듈)만 불러올 수 있다.
- sys모듈은 파이썬을 설치할때 함께 설치되는 라이브러리 모듈이다. sys.path 에는 파이썬 라이브러리가 설치되어 있는 디렉터리 목록이 있는데, 이 디렉터리안에 저장된 파이썬 모듈은 현재 디렉터리에 있지 않더라도 바로 사용이 가능하다. 즉 sys.path에 추가하면 디렉터리 이동없이 바로 모듈 사용이 가능하다.
- PYTHONPATH 환경변수에 내가 사용하고자하는 모듈 파일이 있는 디렉터리를 설정하면 디렉터리 이동없이 모듈사용이 가능하다.
모듈 만들기
mod1.py
def add(a,b): return a+b def sub(a,b): return a-b
모듈 사용하기
main.py
모듈 이름 붙여서 사용해야함
import mod1 print(mod1.add(3,4))
모듈 이름 붙이지 않고 바로 함수 쓸 수 있음
from mod1 import add print(add(3,4))
from mod1 import add,sub print(add(3,4))
mod1의 모든 함수 불러오기
from mod1 import * print(add(3,4))
if __name__ == "__main__"
직접 해당 파일에서 사용할 경우 참이되어 if 문 다음 문장이 수행되고, 다른 파일에서 해당 모듈을 불러서 사용할때는 거짓이 되어 if문 다음이 수행되지 않는다.
mod1.py
def add(a,b): return a+b def sub(a,b): return a-b if __name__ == "__main__": print(add(1,4)) print(sub(4,2))
출력
5
2main.py
from mod1 import * print(add(3,4))
7
모듈은 아래처럼 클래스나 변수등을 포함할 수도 있다.
mod2.py
PI = 3.141592 class Math: def solv(self,r): return PI*(r**2) def add(a,b): return a+b
main.py
import mod2 print(mod2.PI) a = mod2.Math() print(a.solv(2)) print(mod2.add(mod2.PI,4.4))
패키지
패키지는 관련있는 모듈들의 집합이다.
패키지는 디렉터리와 파이썬 모듈로 이루어진다.
__init__.py 는 해당 디렉터리가 패키지의 일부임을 알려주는 역할을 한다. 또한 패키지 관련 설정이나 초기화 코드를 포함하여 활용한다.
'파이썬' 카테고리의 다른 글
[python] list, tuple, dict, set 총 정리 (0) 2024.01.16 [python] 클래스 (0) 2023.08.26 [python] 입출력 (0) 2023.08.21 [python] 함수 (0) 2023.08.21 [python] 제어문 (0) 2023.08.20