반응형
파이썬의 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
각 패키지는 특정 작업을 보다 쉽게 수행할 수 있도록 다양한 기능을 제공합니다. 이를 통해 복잡한 작업을 간결하고 효율적으로 처리할 수 있습니다.
반응형
'언어 > Python' 카테고리의 다른 글
[ Python ] 가변 인수 리스트 'args' 사용하기 (0) | 2024.07.07 |
---|---|
[ Python ] 함수를 객체로 다루어 디버깅에 사용하기 (profiling) (0) | 2024.07.07 |
[ Python ] 유명한 파이썬 패키지 알아보기 (0) | 2024.07.07 |
[ Python ] import로 모듈, 패키지, 서브 모듈 가져오기 (0) | 2024.07.07 |
[ Python ] 패키지, 모듈, 객체의 관계에 대해서 알아보자. (0) | 2024.07.07 |