当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Python fractions.Fraction用法及代码示例


用法:

class fractions.Fraction(numerator=0, denominator=1)
class fractions.Fraction(other_fraction)
class fractions.Fraction(float)
class fractions.Fraction(decimal)
class fractions.Fraction(string)

第一个版本要求 numeratordenominatornumbers.Rational 的实例,并返回一个新的 Fraction 实例,其值为 numerator/denominator 。如果 denominator0 ,则会引发 ZeroDivisionError 。第二个版本要求 other_fractionnumbers.Rational 的实例,并返回具有相同值的 Fraction 实例。接下来的两个版本接受 floatdecimal.Decimal 实例,并返回具有完全相同值的 Fraction 实例。请注意,由于二进制浮点的常见问题(请参阅浮点算术:问题和限制),Fraction(1.1) 的参数不完全等于 11/10,因此 Fraction(1.1) 确实 not 返回 Fraction(11, 10) 正如人们所期望的那样。 (但请参阅下面 limit_denominator() 方法的文档。)构造函数的最后一个版本需要一个字符串或 unicode 实例。此实例的通常形式是:

[sign] numerator ['/' denominator]

其中可选的 sign 可以是“+”或“-”,而 numeratordenominator(如果存在)是十进制数字字符串。此外,任何表示有限值并被float 构造函数接受的字符串也被Fraction 构造函数接受。在任一形式中,输入字符串也可能具有前导和/或尾随空格。这里有些例子:

>>> from fractions import Fraction
>>> Fraction(16, -10)
Fraction(-8, 5)
>>> Fraction(123)
Fraction(123, 1)
>>> Fraction()
Fraction(0, 1)
>>> Fraction('3/7')
Fraction(3, 7)
>>> Fraction(' -3/7 ')
Fraction(-3, 7)
>>> Fraction('1.414213 \t\n')
Fraction(1414213, 1000000)
>>> Fraction('-.125')
Fraction(-1, 8)
>>> Fraction('7e-6')
Fraction(7, 1000000)
>>> Fraction(2.25)
Fraction(9, 4)
>>> Fraction(1.1)
Fraction(2476979795053773, 2251799813685248)
>>> from decimal import Decimal
>>> Fraction(Decimal('1.1'))
Fraction(11, 10)

Fraction 类继承自抽象基类 numbers.Rational ,并实现该类的所有方法和操作。 Fraction 实例是可散列的,应该被视为不可变的。此外,Fraction 具有以下属性和方法:

在 3.2 版中更改: fractions.Fraction构造函数现在接受floatdecimal.Decimal实例。

在 3.9 版中更改: math.gcd()函数现在用于规范化numeratordenominator.math.gcd()总是返回一个int类型。以前,GCD 类型取决于numeratordenominator.

相关用法


注:本文由纯净天空筛选整理自python.org大神的英文原创作品 fractions.Fraction。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。