8. Python Programming Course : Modules and Packages
8장. 모듈 및 패키지
강의 개요
모듈 가져오기(Importing Modules)
표준 라이브러리 모듈(Standard Library Modules)
사용자 정의 모듈 만들기(Creating Your Own Modules)
파이썬 패키지(Python Packages)
모듈 가져오기(Importing Modules)
표준 라이브러리 모듈(Standard Library Modules)
사용자 정의 모듈 만들기(Creating Your Own Modules)
파이썬 패키지(Python Packages)
1. 모듈 가져오기 (Importing Modules)
1.1 개념 및 필요성
모듈: 관련된 함수, 변수, 클래스 등을 하나의 파일로 모아 둔 파이썬 파일(.py)
- 이 파일은 .py 확장자를 가진 일반적인 파이썬 스크립트와 동일하지만, 다른 파일에서 import 문을 통해 불러와 사용할 수 있다는 점에서 큰 차이를 가집니다. 즉, 모듈은 하나의 독립적인 기능 단위로 작동하며, 여러 프로그램에서 재사용할 수 있는 코드 조각이라고 볼 수 있습니다.
모듈: 관련된 함수, 변수, 클래스 등을 하나의 파일로 모아 둔 파이썬 파일(.py)
import 문을 통해 불러와 사용할 수 있다는 점에서 큰 차이를 가집니다. 즉, 모듈은 하나의 독립적인 기능 단위로 작동하며, 여러 프로그램에서 재사용할 수 있는 코드 조각이라고 볼 수 있습니다.필요성: 서로 다른 파일에 정의된 기능을 재사용하여 코드 중복을 줄이고, 구조적인 설계를 가능하게 함
- 프로그램의 규모가 커지면, 모든 코드를 하나의 파일에 넣는 것은 매우 비효율적이고, 유지보수도 어렵습니다. 예를 들어, 숫자를 더하거나 날짜를 계산하는 함수들이 여러 파일에 흩어져 있다면, 나중에 수정할 때 중복된 코드를 일일이 찾아 고쳐야 할 수도 있습니다. 하지만 이 기능들을 별도의 모듈로 정리해두면, 필요한 곳에서 간편하게 불러와 사용할 수 있고, 한 곳만 수정해도 전체 프로그램에 반영되기 때문에 훨씬 효율적인 코드 관리가 가능해집니다.
필요성: 서로 다른 파일에 정의된 기능을 재사용하여 코드 중복을 줄이고, 구조적인 설계를 가능하게 함
1.2 기본 문법
1.3 실습 예제
random 모듈을 import하여 1~100 사이의 난수 5개 출력
os 모듈을 import하여 현재 작업 디렉터리 확인
random 모듈을 import하여 1~100 사이의 난수 5개 출력
os 모듈을 import하여 현재 작업 디렉터리 확인
2. 라이브러리 모듈 (Library Modules)
2.1 표준 라이브러리(Standard Library) 개요
- 파이썬 설치 시 기본 제공되는 모듈 모음
- 외부 패키지 설치 없이 즉시 사용 가능 (별도 설치 불필요)
2.2 외부 라이브러리 개요
파이썬의 방대한 오픈소스 생태계로 수많은 개발자들이 다양한 분야에 특화된 외부 라이브러리를 만들어 배포하고 있습니다. 이 외부 라이브러리들은 다양한 작업을 손쉽게 처리할 수 있도록 해줍니다.
파이썬에 기본적으로 포함되어 있지 않기 때문에, 보통
pip이라는 패키지 관리 도구를 사용해 설치합니다.
- pip install 패키지 이름 (예: pip instal pandas) 명령어를 입력하면 패키지가 자동으로 다운로드되어 설치됩니다.2.3 주요 모듈 소개
| 모듈명 | 분류 | 설명 |
|---|---|---|
| math | 표준 라이브러리 | 수학 관련 함수 제공 (삼각함수, 제곱근 등) |
| random | 표준 라이브러리 | 난수 생성 및 무작위 선택 기능 제공 |
| datetime | 표준 라이브러리 | 날짜 및 시간 처리 (현재 시간, 날짜 연산 등) |
| os | 표준 라이브러리 | 운영체제와 상호작용 (파일/디렉터리 관리 등) |
| sys | 표준 라이브러리 | 파이썬 인터프리터와 실행 환경 정보 접근 |
| pandas | 외부 라이브러리 | 표 형태의 데이터 분석 및 처리 도구 (DataFrame 등) |
| numpy | 외부 라이브러리 | 고성능 수치 계산을 위한 배열, 선형대수 연산 기능 |
| seaborn | 외부 라이브러리 | 통계적 데이터 시각화 |
| matplotlib | 외부 라이브러리 | 기본 시각화 도구 (선형 그래프, 막대그래프 등) |
| requests | 외부 라이브러리 | HTTP 요청 처리 및 웹 데이터 크롤링 |
- 외부 라이브러리를 처음 사용할 때 pip install로 패키지 설치
- 새로운 컴퓨터나 가상환경(예: venv, conda)을 쓸 때는 패키지를 다시 설치
- 설치한 라이브러리 목록은
pip list로 확인 가능 - 라이브러리 버전이 오래된 경우
pip install --upgrade 패키지명으로 업데이트 가능
2.3 실습 예제
3. 사용자 정의 모듈 만들기 (Creating Your Own Modules)
3.1 모듈 파일 작성
⚠️ 사용자 정의 모듈 사용 시 주의할 점
1) 모듈 파일은 .py 확장자여야 함
- 반드시 .py 확장자를 가진 파이썬 파일이어야 하며, 이름에 공백이나 특수문자가 들어가면 안 됩니다.
(예: my utils.py - 사용불가 , my_utils.py - 사용가능)
2) 모듈과 사용하는 스크립트가 같은 디렉터리에 있어야 함
- import 문은 기본적으로 현재 실행 중인 파일과 같은 폴더 내의 .py 파일을 찾습니다. 만약 다른 폴더에 있다면, sys.path를 수정하거나 패키지 구조로 설정해야 합니다.
3) 모듈 이름과 표준 라이브러리 이름이 겹치면 안 됨
- 예를 들어,
random.py라는 이름으로 모듈을 만들면 파이썬의 표준 라이브러리인 random과 충돌이 일어나 오류가 발생할 수 있습니다. 따라서 사용자 정의 모듈은 이름을 고유하게 짓는 것이 좋습니다.
3.2 모듈 사용 방법
3.3 실습 과제
자신만의 계산기 모듈 calc.py를 작성하여 덧셈, 뺄셈, 곱셈, 나눗셈 함수 생성 후 테스트
자신만의 계산기 모듈 calc.py를 작성하여 덧셈, 뺄셈, 곱셈, 나눗셈 함수 생성 후 테스트
4. 파이썬 패키지 (Python Packages)
4.1 패키지 개념
패키지: 여러 모듈을 디렉터리 구조로 관리하는 단위
최상위 디렉터리에 __init__.py 파일을 두어 패키지임을 표시
패키지: 여러 모듈을 디렉터리 구조로 관리하는 단위
최상위 디렉터리에 __init__.py 파일을 두어 패키지임을 표시
4.2 패키지 구조 예시
project_root/
│
├─ my_package/
│ ├─ __init__.py
│ ├─ module_a.py
│ └─ module_b.py
│
└─ main.py
module_a.py 내용:
module_b.py 내용:
__init__.py: 빈 파일 또는 패키지 초기화 코드 작성
project_root/
│
├─ my_package/
│ ├─ __init__.py
│ ├─ module_a.py
│ └─ module_b.py
│
└─ main.pymodule_a.py 내용:
module_b.py 내용:
__init__.py: 빈 파일 또는 패키지 초기화 코드 작성
4.3 패키지 사용 방법
4.4 실습 과제
자신만의 패키지 data_tools를 생성하여 파일 입출력, 데이터 정제 함수를 포함한 모듈 작성 및 테스트
자신만의 패키지 data_tools를 생성하여 파일 입출력, 데이터 정제 함수를 포함한 모듈 작성 및 테스트
강의 요약 및 확장 활동 추천
모듈과 패키지를 활용하여 코드 재사용성과 유지 보수성을 극대화할 수 있습니다.
실습을 통해 다양한 표준 라이브러리를 익히고, 직접 모듈과 패키지를 구성해 보세요.
추가 과제로 GitHub에 패키지 구조를 올리고 버전 관리 경험을 쌓아 보세요.
모듈과 패키지를 활용하여 코드 재사용성과 유지 보수성을 극대화할 수 있습니다.
실습을 통해 다양한 표준 라이브러리를 익히고, 직접 모듈과 패키지를 구성해 보세요.
추가 과제로 GitHub에 패키지 구조를 올리고 버전 관리 경험을 쌓아 보세요.
댓글
댓글 쓰기