Python 학습: 모듈과 패키지
Python은 코드의 재사용성을 높이기 위해 모듈과 패키지를 사용합니다. 모듈과 패키지를 통해 코드를 구조화하고, 효율적으로 관리할 수 있습니다. 이번 글에서는 모듈, 패키지, 표준 라이브러리에 대해 알아보겠습니다.
1. 모듈: 모듈 생성, import, from ... import
- 모듈 생성 : 모듈은 Python 파일(.py)로, 관련된 코드를 하나의 파일로 묶은 것입니다. 모듈을 사용하면 코드를 여러 파일로 분리하여 관리할 수 있습니다.
모듈 생성 예제 : 아래와 같은 my_module.py 파일을 생성합니다.
def greet(name):
return f"Hello, {name}!"
def add(a, b):
return a + b
- 모듈 임포트 : 다른 파일에서 이 모듈을 사용하려면 import 키워드를 사용합니다.
import 사용 예제
import my_module
print(my_module.greet("Alice")) # Hello, Alice! 출력
print(my_module.add(3, 5)) # 8 출력
- from ... import 사용 : 모듈의 특정 함수나 클래스를 직접 임포트할 수도 있습니다.
from ... import 사용 예제:
from my_module import greet, add
print(greet("Bob")) # Hello, Bob! 출력
print(add(10, 20)) # 30 출력
2. 패키지: 패키지 구조, __init__.py
패키지 구조 : 패키지는 여러 모듈을 디렉터리 구조로 묶은 것입니다. 각 디렉터리는 __init__.py 파일을 포함하여 패키지로 인식됩니다. 패키지를 사용하면 더 큰 프로젝트를 체계적으로 관리할 수 있습니다.
패키지 예제
__init__.py
module1.py
module2.py
module1.py
def func1():
return "Function 1"
module2.py
def func2():
return "Function 2"
__init__.py : __init__.py 파일은 패키지를 초기화하는 데 사용됩니다. 빈 파일로 둘 수도 있고, 패키지를 초기화하는 코드를 포함할 수도 있습니다.
__init__.py 예제
from .module1 import func1
from .module2 import func2
패키지 임포트 예제
import my_package
print(my_package.func1()) # Function 1 출력
print(my_package.func2()) # Function 2 출력
3. 표준 라이브러리: os, sys, math, datetime 등
Python은 다양한 표준 라이브러리를 제공하여 여러 가지 기능을 쉽게 구현할 수 있습니다. 몇 가지 주요 표준 라이브러리를 살펴보겠습니다.
- os 모듈 : 운영 체제와 상호작용할 수 있는 기능을 제공합니다.
os 모듈 예제
# 현재 작업 디렉토리 출력
print(os.getcwd())
# 새로운 디렉토리 생성
os.mkdir("new_dir")
# 파일 목록 출력
print(os.listdir("."))
- sys 모듈 : 파이썬 인터프리터와 상호작용할 수 있는 기능을 제공합니다.
sys 모듈 예제
# 명령 줄 인자 출력
print(sys.argv)
# 파이썬 버전 출력
print(sys.version)
- math 모듈 : 수학적 계산을 위한 기능을 제공합니다.
math 모듈 예제
# 제곱근 계산
print(math.sqrt(16))
# 원주율
print(math.pi)
# 삼각 함수
print(math.sin(math.radians(90))) # 1.0 출력
- datetime 모듈 : 날짜와 시간을 처리하는 기능을 제공합니다.
datetime 모듈 예제
# 현재 날짜와 시간 출력
now = datetime.datetime.now()
print(now)
# 특정 날짜 생성
birthday = datetime.datetime(1990, 1, 1)
print(birthday)
# 날짜 차이 계산
diff = now - birthday
print(diff.days)
Python의 표준 라이브러리는 매우 풍부하며, 다양한 작업을 쉽게 수행할 수 있는 도구를 제공합니다. 문서화가 잘 되어 있어 필요한 기능을 찾아 사용하는 것도 매우 쉽습니다.
이 글에서는 Python의 모듈과 패키지, 그리고 주요 표준 라이브러리에 대해 알아보았습니다. 모듈과 패키지를 사용하면 코드를 더 체계적으로 관리할 수 있으며, 표준 라이브러리를 활용하면 많은 기능을 쉽게 구현할 수 있습니다. 다음 단계에서는 더 고급 기능과 외부 라이브러리 사용법을 학습해보세요. Happy Coding!
'프로그래밍 > Python' 카테고리의 다른 글
[Python] 10. Python의 "고급 주제" (0) | 2024.06.18 |
---|---|
[Python] 9. Python의 "표준 라이브러리와 외부 패키지" (0) | 2024.06.18 |
[Python] 7. Python의 "객체 지향 프로그래밍 (OOP)" (0) | 2024.06.18 |
[Python] 6. Python의 "예외 처리" (0) | 2024.06.18 |
[Python] 5. Python의 "파일 입출력" (1) | 2024.06.17 |