Fractions Module, 분수를 다루는 모듈
"Fractions" 모듈은 파이썬에서 분수 계산을 위한 라이브러리입니다. 이 모듈은 분수의 기본 연산 (덧셈, 뺄셈, 곱셈, 나눗셈 등)을 지원하며, 실수와 분수의 혼합 계산도 가능합니다. "Fractions" 모듈은 부동 소수점 오차를 줄이기 위해 사용될 수 있습니다. 이렇게 유리수 연산을 쉽게 만들어주기 때문에 로직을 구현할 때나 코딩테스트 문제 중 분수를 다룰 때 사용 됩니다. 간단하고 훌륭하게 구현할 수 있도록 도와주는 fractions 모듈 중 가장 핵심인 Fraction 클래스에 대해서 알아보겠습니다.
Fraction Class examples
1. Import the "fractions" module
파이썬 환경에서 프랙션즈 모듈 내에 프랙션 클래스를 사용하기 위해 임포트 하는 코드입니다.
from fractions import Fraction
2. Create a fraction object
프래션 클래스로 분수 '3 / 4'을 표현한 코드입니다.
fraction1 = Fraction(3, 4)
3. Converting a fraction to a float
Fraction 객체를 float 함수를 사용해 실수로 변환하는 코드입니다.
fraction1 = Fraction(3, 4)
print(float(fraction1)) # 0.75
4. Converting a float to fraction
실수값(float)을 Fraction 객체로 변환하는 코드입니다.
float_num = 0.75
fraction1 = Fraction.from_float(float_num)
print(fraction1) # 3/4
5. Simplifying a fraction
입력받은 분모의 최댓값을 넘지 않는 가장 가까운 Fraction 객체를 찾아서 반환해 주는 코드입니다. π(파이) 같이 무한한 값을 가지는 소수를 변환하게 되면 분모와 분자가 매우 큰 값이 됩니다. 이럴 때 연산의 효율성을 위해 분모의 값을 제한하여 크기를 줄일 수 있게 도와줍니다. 인자로 전달한 값을 넘지 않는 객체를 반환합니다.
fraction2 = Fraction(6, 8)
simplified_fraction = fraction2.limit_denominator()
====================================================
from math import pi, cos
from fractions import Fraction
Fraction.from_float(pi)
Fraction(884279719003555, 281474976710656)
# 분모의 값이 100보다 작은 Fraction객체를 반환
Fraction.from_float(pi).limit_denominator(100)
Fraction(311, 99)
6. Adding fractions
분수와 분수의 덧셈을 구현한 코드입니다.
fraction3 = Fraction(1, 2)
fraction4 = Fraction(3, 4)
result = fraction3 + fraction4
print(float(result)) # 1.25
7. Subtracting fractions
분수와 분수의 뺄셈을 구현한 코드입니다.
fraction5 = Fraction(3, 4)
fraction6 = Fraction(1, 2)
result = fraction5 - fraction6
print(float(result)) # 0.25
8. Multiplying fractions
분수와 분수의 곱셈을 구현한 코드입니다.
fraction7 = Fraction(1, 2)
fraction8 = Fraction(3, 4)
result = fraction7 * fraction8
print(float(result)) # 0.375
9. Dividing fractions
분수와 분수의 나눗셈을 구현한 코드입니다.
fraction9 = Fraction(3, 4)
fraction10 = Fraction(6, 4)
result = fraction9 / fraction10
print(float(result)) # 0.5
10. Comparing fractions
분수의 크기 비교를 구현한 코드이며 Boolean Type을 출력합니다.
fraction12 = Fraction(3, 4)
fraction13 = Fraction(6, 8)
result = fraction12 == fraction13
print(result) # True
위 예제 코드들이 Python에서 "fractions" 모듈을 시작하는 데 도움이 되기를 바랍니다 👋🏼
Reference
📑 파이썬 공식문서, chatGPT
'PROGRAMMING > Python' 카테고리의 다른 글
[Python] Dictionary get method (파이썬 딕셔너리 팁) (44) | 2023.04.03 |
---|---|
[Python] 파이썬 배열 [:] / [::] 사용법 (feat.list slicing syntax) (40) | 2023.03.01 |
[Python] 누적합 / 순열 / 조합 (feat.itertools module) (4) | 2023.02.03 |
[Python for AI]파이썬 객체지향프로그래밍 기법, Python Object-Oriented Programming(OOP) (11) | 2022.12.09 |
[Python for AI]파이썬 데이터 구조 - 스택*Stack, 큐*Queue, 튜플*Tuple, 집합*Set, 사전*Dictionary (5) | 2022.12.07 |