-
Python 모듈과 패키지 🛠️📦프로그래밍/Python 2025. 3. 12. 23:08반응형

Python은 강력한 라이브러리와 모듈 시스템을 제공하여 코드의 재사용성과 관리 효율성을 극대화합니다. 이번 포스팅에서는 모듈과 패키지를 활용하여 효율적인 코드 작성법을 배워보겠습니다! 🚀
1. 모듈(Module)이란?
모듈(Module)이란 Python 코드가 작성된 하나의 파일(.py 확장자)를 의미합니다. 여러 개의 함수를 하나의 모듈로 만들어서 쉽게 불러올 수 있습니다.
📌 모듈 만들기
아래처럼 mymodule.py 파일을 생성하고 함수를 작성합니다.
# mymodule.py def greeting(name): return f"안녕하세요, {name}님!"✅ mymodule.py는 이제 다른 파일에서 불러와 사용할 수 있는 모듈입니다.
📌 모듈 가져오기 (import)
import mymodule print(mymodule.greeting("민주")) # 출력: 안녕하세요, 민주님!✅ import 모듈이름을 사용하면 해당 모듈을 가져와서 사용할 수 있습니다.
📌 특정 함수만 가져오기 (from ... import)
from mymodule import greeting print(greeting("연탄")) # 출력: 안녕하세요, 연탄님!✅ from 모듈이름 import 함수이름을 사용하면 특정 함수만 가져올 수 있습니다.
2. 강력한 내장 모듈 활용하기
Python에는 기본적으로 제공되는 강력한 내장 모듈(Built-in Module)이 있습니다. 이 라이브러리들을 활용하면 복잡한 기능도 간단하게 구현할 수 있습니다.
📌 math 모듈 활용 (고급 수학 연산)
import math print(math.sqrt(16)) # 출력: 4.0 (제곱근 계산) print(math.factorial(5)) # 출력: 120 (팩토리얼 계산) print(math.pi) # 출력: 3.141592653589793 (파이 값)✅ math 모듈을 사용하면 복잡한 수학 계산이 가능합니다.
📌 random 모듈 활용 (랜덤 값 생성)
import random print(random.randint(1, 10)) # 1부터 10 사이의 랜덤 숫자 생성 print(random.choice(["사과", "바나나", "포도"])) # 리스트에서 랜덤 선택 print(random.sample(range(1, 46), 6)) # 로또 번호 생성✅ random 모듈을 활용하면 랜덤 숫자 및 데이터를 생성할 수 있습니다.
📌 os 모듈 활용 (파일 및 시스템 제어)
import os print(os.getcwd()) # 현재 작업 디렉터리 확인 os.mkdir("new_folder") # 새 폴더 생성 print(os.listdir(".")) # 현재 디렉터리 내 파일 목록 출력✅ os 모듈을 사용하면 파일 및 디렉터리를 쉽게 관리할 수 있습니다.
3. 패키지(Package)란?
패키지(Package)는 여러 개의 모듈을 하나의 디렉터리(폴더)로 묶어서 관리하는 방식입니다.
📌 패키지 구조 예시
my_package/ # 패키지 폴더 ├── __init__.py # 패키지 설정 파일 ├── module1.py # 첫 번째 모듈 ├── module2.py # 두 번째 모듈✅ __init__.py 파일이 포함된 폴더는 패키지로 인식됩니다.
📌 패키지에서 모듈 가져오기
from my_package import module1 module1.some_function()✅ from 패키지이름 import 모듈이름을 사용하여 패키지 내부의 모듈을 불러올 수 있습니다.
4. 강력한 외부 라이브러리 활용하기
Python의 방대한 외부 라이브러리를 사용하면 더욱 강력한 기능을 구현할 수 있습니다.
📌 numpy (고성능 수학 연산)
import numpy as np arr = np.array([1, 2, 3, 4, 5]) print(np.mean(arr)) # 평균값 계산✅ numpy를 사용하면 배열 연산과 고급 수학 연산이 가능합니다.
📌 pandas (데이터 분석)
import pandas as pd data = {"이름": ["민주", "연탄"], "나이": [25, 3]} df = pd.DataFrame(data) print(df)✅ pandas를 활용하면 테이블 데이터를 쉽게 분석할 수 있습니다.
5. 연습문제: 직접 실습해보기! 🎯
# 1. 새로운 모듈 `calculator.py`를 만들고, 덧셈 함수를 작성하세요. # 그리고 다른 파일에서 이 모듈을 불러와 사용하세요. def add(a, b): return a + b# 2. `math` 모듈을 활용하여 원의 면적을 계산하는 코드를 작성하세요. import math def circle_area(radius): return math.pi * (radius ** 2) print(circle_area(5)) # 출력: 원의 면적
🎯 마무리
오늘은 Python의 모듈과 패키지 그리고 강력한 라이브러리들을 배웠습니다! 🏆
- import를 사용하여 모듈을 가져오는 방법
- from ... import를 활용하여 특정 함수만 가져오기
- 내장 모듈(math, random, os) 활용
- 패키지를 만들어 여러 모듈을 관리하는 방법
- numpy, pandas와 같은 강력한 라이브러리 활용
💡 다음 포스팅에서는 'Python 웹 크롤링'을 다룰 예정입니다! 🚀
✍️ 질문이나 궁금한 점이 있다면 댓글로 남겨주세요! 😊
'프로그래밍 > Python' 카테고리의 다른 글
Python의 파일 및 디렉터리 관리 🗂️ (0) 2025.03.19 Python 예외 처리 (Exception Handling) 🐍🛠️⚠️ (0) 2025.03.11 Python 파일 입출력(File I/O) 🐍📝✨ (0) 2025.03.10 Python 클래스(Class)와 객체(Object) 🐍✨ (4) 2025.03.09 Python 함수(Function) 🐍✨ (0) 2025.03.06