8장: 모듈과 패키지
파이썬에서 모듈과 패키지는 코드를 구조화하고 재사용성을 높이는 데 중요한 역할을 합니다. 이 장에서는 모듈과 패키지를 정의하고 사용하는 방법에 대해 알아보겠습니다.
#### 8.1 모듈
모듈(Module)은 파이썬 코드를 논리적으로 묶어놓은 파일입니다. 모듈은 다른 파이썬 파일에서 재사용할 수 있습니다. 모듈을 사용하면 코드를 구조화하고, 유지 보수성을 높일 수 있습니다.
```python
# my_module.py 파일 내용
def greet(name):
return f"안녕하세요, {name}님!"
def add(a, b):
return a + b
```
모듈을 사용하려면 `import` 키워드를 사용하여 모듈을 가져와야 합니다.
```python
# 모듈 사용 예제
import my_module
print(my_module.greet("Python")) # 출력: 안녕하세요, Python님!
print(my_module.add(10, 20)) # 출력: 30
```
#### 8.2 특정 함수 또는 변수 가져오기
모듈의 특정 함수나 변수를 가져오려면 `from ... import ...` 구문을 사용할 수 있습니다.
```python
# 특정 함수 가져오기 예제
from my_module import greet
print(greet("Python")) # 출력: 안녕하세요, Python님!
```
#### 8.3 별칭 사용하기
모듈 이름이 길거나 더 짧은 이름으로 사용하고 싶을 때는 `as` 키워드를 사용하여 별칭(alias)을 지정할 수 있습니다.
```python
# 별칭 사용 예제
import my_module as mm
print(mm.greet("Python")) # 출력: 안녕하세요, Python님!
```
#### 8.4 패키지
패키지(Package)는 여러 모듈을 묶어놓은 디렉터리입니다. 패키지를 사용하면 더 큰 프로젝트에서 모듈을 체계적으로 관리할 수 있습니다. 패키지 디렉터리에는 `__init__.py` 파일이 있어야 합니다. 이 파일은 해당 디렉터리가 패키지임을 나타냅니다.
디렉터리 구조 예시:
```
my_package/
__init__.py
module1.py
module2.py
```
`module1.py` 파일 내용:
```python
def func1():
return "모듈 1의 함수"
```
`module2.py` 파일 내용:
```python
def func2():
return "모듈 2의 함수"
```
패키지를 사용하려면 `import` 키워드를 사용하여 패키지와 모듈을 가져와야 합니다.
```python
# 패키지 사용 예제
from my_package import module1, module2
print(module1.func1()) # 출력: 모듈 1의 함수
print(module2.func2()) # 출력: 모듈 2의 함수
```
#### 8.5 하위 패키지
패키지 내에 또 다른 패키지를 포함할 수 있습니다. 이를 통해 계층 구조를 가진 패키지를 만들 수 있습니다.
디렉터리 구조 예시:
```
my_package/
__init__.py
sub_package/
__init__.py
sub_module.py
```
`sub_module.py` 파일 내용:
```python
def sub_func():
return "서브 모듈의 함수"
```
하위 패키지를 사용하려면 전체 경로를 지정하여 가져와야 합니다.
```python
# 하위 패키지 사용 예제
from my_package.sub_package import sub_module
print(sub_module.sub_func()) # 출력: 서브 모듈의 함수
```
#### 8.6 모듈 검색 경로
파이썬 인터프리터는 모듈을 가져올 때 여러 디렉터리를 검색합니다. `sys` 모듈의 `path` 변수를 사용하여 검색 경로를 확인할 수 있습니다.
```python
import sys
for path in sys.path:
print(path)
```
필요에 따라 검색 경로에 새로운 디렉터리를 추가할 수 있습니다.
```python
import sys
sys.path.append('/path/to/my_modules')
```
#### 8.7 표준 라이브러리
파이썬은 다양한 표준 라이브러리를 제공하여 파일 입출력, 문자열 처리, 네트워크 통신 등 다양한 기능을 쉽게 구현할 수 있습니다. 표준 라이브러리는 별도의 설치 없이 바로 사용할 수 있습니다.
```python
# 표준 라이브러리 사용 예제
import math
print(math.sqrt(16)) # 출력: 4.0
```
이상으로, 파이썬에서 모듈과 패키지를 사용하는 방법에 대해 알아보았습니다. 다음 장에서는 파일 시스템과 관련된 작업에 대해 더 자세히 알아보겠습니다. 질문이나 요청사항이 있으시면 댓글로 남겨주세요!
---
이 글의 내용은 GoalKicker.com의 Python Notes for Professionals 책을 참조하였습니다.
댓글
댓글 쓰기