본문 바로가기
Python 문법/Python 기본 문법(3.10 기준)

[python3.10 기본] 11. 모듈과 패키지

by cogito21_python 2024. 7. 1.
반응형

11.1 모듈 import

모듈을 import하여 다른 파이썬 파일의 함수, 클래스, 변수 등을 사용할 수 있습니다.

 

기본 import

import math
print(math.sqrt(16))  # 4.0

특정 함수/변수 import

from math import sqrt
print(sqrt(16))  # 4.0

별칭 사용

import math as m
print(m.sqrt(16))  # 4.0

모듈의 모든 내용을 import

from math import *
print(sqrt(16))  # 4.0

11.2 패키지와 서브패키지

패키지는 디렉토리로, 여러 모듈을 포함할 수 있습니다. 패키지에는 __init__.py 파일이 포함되어 있어야 합니다.

 

패키지 구조

mypackage/
    __init__.py
    module1.py
    module2.py

패키지 import

from mypackage import module1
module1.my_function()

서브패키지

mypackage/
    __init__.py
    subpackage/
        __init__.py
        module3.py
from mypackage.subpackage import module3
module3.another_function()

11.3 모듈 검색 경로와 PYTHONPATH

파이썬은 모듈을 import할 때 특정 경로에서 모듈을 검색합니다. 기본적으로 파이썬은 sys.path 리스트에 있는 경로에서 모듈을 검색합니다.

 

모듈 검색 경로 확인

import sys
print(sys.path)

PYTHONPATH 환경 변수: 사용자가 모듈 검색 경로를 추가할 수 있습니다.

export PYTHONPATH=/path/to/your/module

11.4 표준 라이브러리 활용

파이썬 표준 라이브러리는 다양한 기능을 제공하는 내장 모듈을 포함하고 있습니다. 여기서는 몇 가지 유용한 표준 라이브러리를 소개합니다.

 

os 모듈: 운영 체제와 상호 작용하는 기능을 제공합니다.

import os
print(os.getcwd())  # 현재 작업 디렉토리
os.mkdir("new_dir")  # 새 디렉토리 생성

sys 모듈: 파이썬 인터프리터와 관련된 정보를 제공합니다.

import sys
print(sys.version)  # 파이썬 버전 정보
print(sys.argv)  # 명령줄 인수

math 모듈: 수학 관련 함수와 상수를 제공합니다.

import math
print(math.pi)  # 3.141592653589793
print(math.sqrt(25))  # 5.0

datetime 모듈: 날짜와 시간 관련 기능을 제공합니다.

import datetime
now = datetime.datetime.now()
print(now)  # 현재 날짜와 시간

random 모듈: 난수 생성을 위한 기능을 제공합니다.

import random
print(random.randint(1, 10))  # 1과 10 사이의 랜덤 정수

collections 모듈: 고급 데이터 구조를 제공합니다.

from collections import Counter
count = Counter("hello world")
print(count)  # Counter({'l': 3, 'o': 2, 'h': 1, 'e': 1, ' ': 1, 'w': 1, 'r': 1, 'd': 1})

re 모듈: 정규 표현식을 사용한 문자열 검색과 조작을 제공합니다.

import re
pattern = r"\b\w+\b"
text = "Hello, world!"
words = re.findall(pattern, text)
print(words)  # ['Hello', 'world']

 

반응형