모듈은 파이썬 코드가 들어 있는 *.py 파일 하나를 가리킴
예를 들어, my_module.py라는 파일에 작성된 변수, 함수, 클래스 등이 곧 모듈의 구성 요소가 됨.
파일 이름을 my_module.py라고 하고, 변수와 함수를 정의
# my_module.py
# 변수 정의
greeting = "반갑다, 파이썬 모듈이다."
# 함수 정의
def add_numbers(a, b):
return a + b
# 테스트용 코드 (필요하다면)
if __name__ == "__main__":
print("my_module.py가 직접 실행되었다.")
위 코드에서는 greeting이라는 문자열 변수를 정의했고, add_numbers라는 함수를 만들었다. 또한, if __name __ == "__main __": 블록 내부의 코드는 해당 파일을 직접 실행했을 때만 수행되도록 작성함.
python my_module.py
<출력>
my_module.py가 직접 실행되었다.
기본 import 방법
# main.py
import my_module # 모듈 불러오기
# 모듈에 있는 변수 접근
print(my_module.greeting) # "안녕하세요, 파이썬 모듈이다." 출력
# 모듈에 있는 함수 호출
result = my_module.add_numbers(3, 5)
print(result) # 8 출력
from 키워드를 사용한 import 방법
# main.py
from my_module import greeting, add_numbers # 필요한 것만 불러오기
print(greeting) # "안녕하세요, 파이썬 모듈이다."
print(add_numbers(10, 20)) # 30
여기서
from my_module import *
으로 적는다면 모듈의 모든 구성요소를 한번에 불러오기 가능
import sys
print(sys.path)
출력된 리스트에 담긴 경로 순서대로 파이썬이 모듈을 찾는다. 만약 모듈이 설치 경로에 없으면 ModuleNotFoundError가 발생한다.
파이썬 설치 시 기본적으로 제공되는 표준 라이브러리(standard library)도 모두 모듈 또는 패키지다.
예를 들어, math 모듈사용하면
import math
print(math.sqrt(16)) # 4.0 (제곱근)
print(math.factorial(5)) # 120 (계승)
표준 라이브러리에 없는 외부 라이브러리는 pip를 이용해 설치.
예를 들어, requests라는 HTTP 요청 라이브러리를 설치하고 사용하려면 다음과 같이 작성.
pip install requests
패키지는 여러 모듈을 디렉터리(폴더)로 묶어 놓은 형태.
디렉터리 내에 __init__.py 파일이 존재하면 해당 디렉터리는 패키지로 인식(파이썬 3.3 이후에는 빈 디렉터리도 패키지로 인식 가능).
# main.py
# 패키지의 하위 모듈 불러오기
import my_package.sub_module1
import my_package.sub_module2
or
from my_package import sub_module1
from my_package.sub_module1 import some_function
이걸로 모듈의 일부구성요소만을 사용할 수도 있다.