모듈, 패키지

지두의 개발자 도전기·2025년 3월 12일

Python

목록 보기
9/10
post-thumbnail

1. 모듈

  • 모듈(Module): 관련된 변수, 함수, 클래스를 포함하는 파이썬 파일 (.py 확장자)
  • 모듈을 사용하는 이유: 코드 재사용, 유지보수 용이, 기능 분리
  • 기본 공식
import 모듈이름  # 전체 모듈 가져오기
from 모듈이름 import 함수/변수/클래스  # 특정 기능만 가져오기

1-1. import 사용하기

  • import를 사용하면 모듈 전체를 가져올 수 있음.
  • 모듈명을 앞에 붙여야 함 (모듈명.함수명 형식)
import math  # math 모듈 가져오기
print(math.sqrt(16))  # 4.0 (제곱근 계산)

1-2. from ~ import 사용하기

  • 특정 함수나 변수만 가져와서 사용할 수 있음.
  • 모듈명을 붙이지 않아도 됨.
from math import sqrt
print(sqrt(25))  # 5.0 (math.sqrt 대신 sqrt 사용 가능)

1-3. as 별칭 사용하기

  • 모듈명이 길거나 자주 사용할 경우 별칭을 지정할 수 있음.
import numpy as np  # numpy 모듈을 np로 사용
array = np.array([1, 2, 3])
print(array)  # [1 2 3]

2. random 모듈

  • 난수(랜덤한 숫자) 생성을 위한 모듈
  • 프로그램에서 무작위 값을 사용할 때 유용함.

2-1. random.randint(a, b) - 지정 범위의 정수 반환

import random
num = random.randint(1, 10)  # 1~10 사이 정수 반환
print(num)  # 예: 7

2-2. random.choice(리스트) - 리스트에서 랜덤 선택

  • 리스트에서 무작위 요소를 선택할 때 사용
options = ['가위', '바위', '보']
choice = random.choice(options)
print(choice)  # 무작위로 '가위', '바위', '보' 중 하나 출력

2-3. random.shuffle(리스트) - 리스트 요소 섞기

  • 리스트 내부 요소들의 순서를 랜덤하게 변경
cards = [1, 2, 3, 4, 5]
random.shuffle(cards)
print(cards)  # 리스트 순서 랜덤하게 변경됨

3. 패키지

  • 패키지(Package): 여러 모듈을 포함하는 디렉토리 (폴더)
  • 패키지는 모듈을 체계적으로 관리하는 역할을 함.
  • 패키지 구조 예시
my_package/    # 패키지 폴더
  ├── __init__.py  # 패키지를 인식하도록 하는 파일
  ├── module1.py   # 모듈 1
  ├── module2.py   # 모듈 2
  • __init__.py 파일이 있어야 해당 폴더가 패키지로 인식됨.

3-1. 패키지 사용하기

from my_package import module1
module1.hello()  # module1.py의 hello 함수 실행

4. 그외 모듈

모듈명설명
os운영체제 기능 (파일, 디렉토리 관리)
sys시스템 정보 및 인자 제어
datetime날짜 및 시간 처리
time시간 지연, 시간 측정
collections고급 자료구조 (deque, Counter 등)
re정규 표현식 처리

4-1. os 모듈 예제

  • 현재 작업 디렉토리를 확인하는 방법
import os
print(os.getcwd())  # 현재 작업 디렉토리 출력

4-2. datetime 모듈 예제

  • 현재 날짜 및 시간을 가져오기
import datetime
now = datetime.datetime.now()
print(now)  # 현재 날짜와 시간 출력

0개의 댓글