2.5 Palatable Python_Basic Syntax#5_Module & Package

mseokq23·2025년 1월 6일

Palatable Python

목록 보기
9/11

2.5 Module

모듈은 파이썬 코드가 들어 있는 *.py 파일 하나를 가리킴

예를 들어, my_module.py라는 파일에 작성된 변수, 함수, 클래스 등이 곧 모듈의 구성 요소가 됨.

2.5.1 Why use Module?

  • 코드 재사용: 모듈에 정의된 함수나 클래스를 다른 파일(프로그램)에서 쉽게 불러와 사용할 수 있음.
  • 코드 가독성: 프로젝트 구조가 복잡해질수록, 코드 덩어리를 모듈별로 나누면 관리가 편리해지고 가독성 증가.
  • 네임스페이스 구분: 모듈별로 이름 공간(namespace)이 분리되어 충돌 감소.

2.5.2 Make simple module

2.5.2.1 Create module

파일 이름을 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 __": 블록 내부의 코드는 해당 파일을 직접 실행했을 때만 수행되도록 작성함.

2.5.2.2 Launch module

python my_module.py

<출력>

my_module.py가 직접 실행되었다.

2.5.2.3 Import module

기본 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 *

으로 적는다면 모듈의 모든 구성요소를 한번에 불러오기 가능

2.5.3 Find module path

  • 모듈이 위치한 경로
    파이썬은 기본적으로 현재 실행 중인 스크립트가 있는 디렉터리(또는 현재 폴더), 그리고 PYTHONPATH 환경 변수에 명시된 디렉터리, 파이썬 설치 경로의 라이브러리 폴더 등을 순서대로 탐색한다.
  • 모듈 검색 경로 확인하기
    파이썬에서 모듈을 검색할 때 어떤 경로들을 탐색하는지 확인하려면, 다음과 같은 코드를 실행해 보면 된다.
import sys
print(sys.path)

출력된 리스트에 담긴 경로 순서대로 파이썬이 모듈을 찾는다. 만약 모듈이 설치 경로에 없으면 ModuleNotFoundError가 발생한다.

2.5.4 Standard library modules and external packages

2.5.4.1 Standard library modules

파이썬 설치 시 기본적으로 제공되는 표준 라이브러리(standard library)도 모두 모듈 또는 패키지다.
예를 들어, math 모듈사용하면

import math

print(math.sqrt(16))       # 4.0 (제곱근)
print(math.factorial(5))   # 120 (계승)

2.5.4.2 External packages

표준 라이브러리에 없는 외부 라이브러리는 pip를 이용해 설치.
예를 들어, requests라는 HTTP 요청 라이브러리를 설치하고 사용하려면 다음과 같이 작성.

pip install requests

2.6 Package

Package?

패키지는 여러 모듈을 디렉터리(폴더)로 묶어 놓은 형태.
디렉터리 내에 __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

이걸로 모듈의 일부구성요소만을 사용할 수도 있다.

0개의 댓글