안녕하세요! 그레이 해커 월횽입니다. 오늘은 모듈과 패키지에 대해 알아보겠습니다. 프로그램이 커지면 코드를 효율적으로 관리하기 위해 모듈과 패키지가 필수적입니다. 이 개념을 활용하면 코드를 재사용하고, 유지보수를 더 쉽게 할 수 있습니다.
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)
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
패키지 내 모듈 사용
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에서 사용하는 다양한 라이브러리에 대해 배워보겠습니다!
- 이전 수업 목록
'프로그래밍 > Python' 카테고리의 다른 글
[Python 강의] 11강 - 고급 데이터 구조 (0) | 2024.10.14 |
---|---|
[Python 강의] 10강 - 라이브러리(Library) (1) | 2024.10.11 |
[Python 강의] 8강 - 객체지향 프로그래밍 (Object-Oriented Programming) (0) | 2024.10.09 |
[Python 강의] 7강 - 예외 처리 (Exception Handling) (0) | 2024.10.08 |
[Python 강의] 6강 - 파일 입출력 (0) | 2024.10.07 |