Python中的分数模块

Python中的分数模块

Python的Fraction模块用于处理有理数的算术运算。该模块允许我们创建整数、浮点数、数字、小数和字符串的分数实例。

什么是分数实例

可以使用一对整数、字符串或另一个有理数来创建分数实例。这些是可哈希的,并且应该被视为可变的。

如何创建分数实例

Fraction模块提供了以下内置函数用于创建分数。让我们了解以下创建分数实例的方法。

  • class fractions.Function(numerator = 0, denominator = 1): – 默认情况下,这个方法将分子设置为0,分母设置为1。如果分母等于0,它将引发ZeroDivision错误。让我们了解以下示例。

示例

from fractions import Fraction
print (Fraction(10, 37))
# returns Fraction(11, 35)

print (Fraction(11, 18))
# returns Fraction(5, 9)

print (Fraction())
# returns Fraction(0, 1)

输出:

10/37
11/18
0
  • class fractions.Fraction(other_fraction) : 这个方法接受一个other_fraction数字实例。它返回一个有相同值的有理数和分数实例。
  • class fractions.Fraction(float) – 这个方法接受一个浮点数值,并返回相同值的分数实例。

示例

from fractions import Fraction
print(Fraction(1/12))

输出:

6004799503160661/72057594037927936
  • class fractions.Fraction(decimal):- 该方法接受一个 decimal 实例并返回具有相同值的实例。让我们来看下面的示例。

示例

from fractions import Fraction
print (Fraction('2.26'))

输出:

113/50
  • fractions.Fraction(string) 类:- 该方法接受字符串或Unicode作为参数,并返回具有相同值的实例。让我们来看下面的示例。

示例

from fractions import Fraction
print (Fraction('7/25'))
print (Fraction('1.23'))
print (Fraction('3/5'))
print (Fraction('1.414213 \t\n'))

输出:

7/25
123/100
3/5
1414213/1000000
  • limit_denominator(max_denominator=1000000) – 它用于找到给定浮点数的近似值。它返回最接近自身的分数,其分母为max_denominator。让我们理解以下示例。

示例

from fractions import Fraction
print (Fraction('3.14159265358979323846'))
print (Fraction('3.14159265358979323846').limit_denominator(10000))
print (Fraction('3.14159265358979323846').limit_denominator(100))

print (Fraction('3.14159265358979323846').limit_denominator(10))
print (Fraction(125, 50).numerator)
print (Fraction(125, 50).denominator)

输出:

157079632679489661923/50000000000000000000
355/113
311/99
22/7
5
2

示例2:对小数进行数学运算

from fractions import Fraction
print (Fraction(56, 12) + Fraction(18, 25))
print (Fraction(5, 2) / Fraction(12, 10))
print (Fraction(16, 15) * Fraction(26, 39))
print (Fraction(18, 5) * Fraction(15, 36))
print (Fraction(22, 5) ** Fraction(6, 10))

输出:

404/75
25/12
32/45
3/2
2.4326050606703427

结论

在本教程中,我们讨论了Fraction模块及其几个重要方法。这些方法可用于复杂的数学计算和机器学习项目中。

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程