프로그래밍/Python

[Python 강의] 9강 - 모듈과 패키지

월횽 2024. 10. 10. 06:30
728x90
반응형
SMALL

안녕하세요! 그레이 해커 월횽입니다. 오늘은 모듈과 패키지에 대해 알아보겠습니다. 프로그램이 커지면 코드를 효율적으로 관리하기 위해 모듈과 패키지가 필수적입니다. 이 개념을 활용하면 코드를 재사용하고, 유지보수를 더 쉽게 할 수 있습니다.

 

 

1. 모듈(Module)이란?

모듈은 하나의 .py 파일로, 관련된 함수나 변수, 클래스를 모아둔 코드의 묶음입니다. 다른 파일에서 import 문을 사용해 모듈을 불러오면, 그 모듈의 함수나 클래스를 사용할 수 있습니다.

 

모듈 예시

다음은 calculator.py라는 모듈을 만든 예입니다.

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

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

 

반응형

다른 파일에서 이 모듈을 불러오려면 import를 사용합니다.

# main.py
import calculator

result = calculator.add(5, 3)
print(result)  # 8 출력

 

 

 

2. 모듈 불러오기

모듈을 불러오는 방법에는 여러 가지가 있습니다.

 

1) 전체 모듈 불러오기

import calculator

 

 

2) 모듈 내 특정 함수만 불러오기

from calculator import add

result = add(5, 3)

 

728x90

3) 모듈에 별칭 붙이기

import calculator as calc

result = calc.add(5, 3)

 

 

 

3. 표준 라이브러리 모듈

Python은 다양한 표준 라이브러리를 제공하며, 이를 통해 복잡한 기능도 쉽게 구현할 수 있습니다. 일부 자주 사용하는 표준 라이브러리 모듈은 다음과 같습니다.

· math: 수학 관련 함수 제공
· random: 임의의 수 생성
· datetime: 날짜와 시간 처리

 

예시: math 모듈 사용

import math

print(math.sqrt(16))  # 4 출력

 

 

 

4. 패키지(Package)란?

패키지는 여러 모듈을 묶은 디렉토리입니다. 즉, 패키지는 모듈들의 집합으로, 폴더 구조를 통해 여러 파일을 논리적으로 구성하는 방식입니다. 패키지 내 각 디렉토리에는 __init__.py 파일이 있어야 합니다.

 

패키지 구조 예시

my_package/
    __init__.py
    module1.py
    module2.py

 

SMALL

패키지 내 모듈 사용

from my_package import module1

module1.some_function()

 

 

 

5. __init__.py 파일

패키지 디렉토리 내에 있는 __init__.py 파일은 그 디렉토리가 패키지임을 Python에 알리는 파일입니다. 이 파일을 통해 패키지의 초기화 작업을 할 수 있으며, 패키지 내에서 사용할 모듈을 정의할 수 있습니다.

 

__init__.py 예시

# my_package/__init__.py
from .module1 import function1
from .module2 import function2

 

 

 

6. 서드파티 패키지 설치

Python에서는 서드파티 패키지를 사용하여 더 많은 기능을 추가할 수 있습니다. pip 명령어를 사용해 패키지를 설치할 수 있습니다.

 

서드파티 패키지 설치 예시

pip install requests

 

설치한 패키지 사용

import requests

response = requests.get("https://www.example.com")
print(response.text)

 

 

 

7. 모듈과 패키지 정리

· 모듈: 하나의 .py 파일로 구성된 코드 묶음
· 패키지: 여러 모듈을 포함하는 디렉토리 구조
· import를 사용해 모듈과 패키지를 불러와 코드에서 사용

 

다음 시간에는 Python에서 사용하는 다양한 라이브러리에 대해 배워보겠습니다!

 

 

 

 

 

- 이전 수업 목록

 

 

 

 

 

 

 

728x90
반응형
LIST