概要
Pythonで分数を扱う場合Pythonビルトインの分数を扱うfractionsパッケージについて軽く調べてみた。の記事で紹介されている、Fractionの機能が利用できます。これは四則演算やfloatへの変換もできる優れものなのですが、Fractionってできるのかなと少し調べてみたのでメモ書きします。
前提
- 使用したPythonのバージョンは
3.13.0
です。
結論
Fractionでの比較は可能です。stackoverflowのHow to compare Fraction objects in Python?の回答を見ると、__eq__
や __lt__
、__gt__
が実装されてるそう。
実装サンプル
いくつかケースを挙げて比較してみた実装サンプルを以下に記載します。
from fractions import Fraction
## 2/3の方が大きいのでTrueになる
print(Fraction(2, 3) > Fraction(1, 2))
## 1/3の方が大きいのでFalseになる
print(Fraction(1, 3) < Fraction(1, 5))
## 約分した結果で比較するのでTrueになる
print(Fraction(2, 4) == Fraction(1, 2))