본문 바로가기

언어/Python

[ Python ] 파이썬 기본 패키지를 알아보자.

반응형

파이썬의 re, math, random, decimal, fractions, array 패키지는 다양한 기능을 제공하여 여러 작업을 수행하는 데 도움을 줍니다. 각 패키지에 대한 간단한 설명과 주요 기능을 예제로 소개합니다.

1. re 패키지 (정규 표현식)

정규 표현식을 사용하여 문자열 검색 및 조작을 수행합니다.

주요 기능 및 예제

  • 패턴 매칭: 문자열에서 패턴을 검색합니다.
  • 패턴 치환: 문자열에서 패턴을 찾아 다른 문자열로 치환합니다.
import re

# 패턴 매칭
pattern = r'\d+'  # 숫자를 찾는 패턴
text = "The year is 2024"
matches = re.findall(pattern, text)
print(matches)  # ['2024']

# 패턴 치환
replaced_text = re.sub(r'2024', '2025', text)
print(replaced_text)  # 'The year is 2025'

2. math 패키지 (수학 함수)

수학 연산을 수행하기 위한 다양한 함수를 제공합니다.

주요 기능 및 예제

  • 기본 수학 함수: 삼각 함수, 로그 함수, 제곱근 등.
  • 상수: 수학 상수 (pi, e 등).
import math

print(math.sqrt(16))  # 4.0
print(math.sin(math.pi / 2))  # 1.0
print(math.log(10))  # 2.302585092994046
print(math.pi)  # 3.141592653589793

3. random 패키지 (난수 생성)

난수를 생성하고, 시퀀스를 무작위로 선택하거나 섞는 기능을 제공합니다.

주요 기능 및 예제

  • 난수 생성: 임의의 정수, 부동 소수점 숫자 등을 생성.
  • 시퀀스 조작: 리스트 섞기, 임의의 요소 선택 등.
import random

print(random.randint(1, 10))  # 1에서 10 사이의 임의의 정수
print(random.random())  # 0.0에서 1.0 사이의 임의의 부동 소수점 숫자
print(random.choice(['apple', 'banana', 'cherry']))  # 리스트에서 임의의 요소 선택

4. decimal 패키지 (고정 소수점 및 부동 소수점 산술)

고정 소수점과 부동 소수점 연산을 정확하게 수행합니다.

주요 기능 및 예제

  • 정확한 소수점 연산: 부동 소수점 오차를 피하기 위한 연산.
  • Decimal 클래스: 고정 소수점 숫자를 표현하는 클래스.
from decimal import Decimal, getcontext

getcontext().prec = 6  # 소수점 이하 6자리까지 정밀도 설정

a = Decimal('3.14')
b = Decimal('2.718')
print(a + b)  # 5.85800

5. fractions 패키지 (분수)

분수(Fraction) 객체를 생성하고 연산을 수행합니다.

주요 기능 및 예제

  • 분수 연산: 분수의 덧셈, 뺄셈, 곱셈, 나눗셈.
from fractions import Fraction

f1 = Fraction(1, 3)
f2 = Fraction(2, 3)
print(f1 + f2)  # 1
print(f1 * f2)  # 2/9

6. array 패키지 (배열)

효율적인 배열을 생성하고 조작할 수 있는 기능을 제공합니다.

주요 기능 및 예제

  • 배열 생성: 고정된 타입의 효율적인 배열 생성.
  • 배열 조작: 배열에 요소 추가, 제거, 검색 등.
import array

arr = array.array('i', [1, 2, 3, 4, 5])  # 'i'는 정수형 타입 코드
arr.append(6)
print(arr)  # array('i', [1, 2, 3, 4, 5, 6])
print(arr[0])  # 1

각 패키지는 특정 작업을 보다 쉽게 수행할 수 있도록 다양한 기능을 제공합니다. 이를 통해 복잡한 작업을 간결하고 효율적으로 처리할 수 있습니다.

반응형