新聞中心
fractions —- 分?jǐn)?shù)
源代碼 Lib/fractions.py

成都創(chuàng)新互聯(lián)公司主營(yíng)武陵網(wǎng)站建設(shè)的網(wǎng)絡(luò)公司,主營(yíng)網(wǎng)站建設(shè)方案,APP應(yīng)用開(kāi)發(fā),武陵h5小程序開(kāi)發(fā)搭建,武陵網(wǎng)站營(yíng)銷(xiāo)推廣歡迎武陵等地區(qū)企業(yè)咨詢(xún)
fractions 模塊支持分?jǐn)?shù)運(yùn)算。
分?jǐn)?shù)實(shí)例可以由一對(duì)整數(shù),一個(gè)分?jǐn)?shù),或者一個(gè)字符串構(gòu)建而成。
class fractions.Fraction(numerator=0, denominator=1)
class fractions.Fraction(other_fraction)
class fractions.Fraction(float)
class fractions.Fraction(decimal)
class fractions.Fraction(string)
第一個(gè)版本要求 numerator 和 denominator 是 numbers.Rational 的實(shí)例,并返回一個(gè)新的 Fraction 實(shí)例,其值為 numerator/denominator。 如果 denominator 為 0 將會(huì)引發(fā) ZeroDivisionError。 第二個(gè)版本要求 other_fraction 是 numbers.Rational 的實(shí)例,并返回一個(gè) Fraction 實(shí)例且與傳入值相等。 下兩個(gè)版本接受 float 或 decimal.Decimal 的實(shí)例,并返回一個(gè) Fraction 實(shí)例且與傳入值完全相等。 請(qǐng)注意由于二進(jìn)制浮點(diǎn)數(shù)通常存在的問(wèn)題 (參見(jiàn) 浮點(diǎn)算術(shù):爭(zhēng)議和限制),Fraction(1.1) 的參數(shù)并不會(huì)精確等于 11/10,因此 Fraction(1.1) 也 不會(huì) 返回用戶(hù)所期望的 Fraction(11, 10)。 (請(qǐng)參閱下文中 limit_denominator() 方法的文檔。) 構(gòu)造器的最后一個(gè)版本接受一個(gè)字符串或 unicode 實(shí)例。 此實(shí)例的通常形式為:
[sign] numerator ['/' denominator]
where the optional sign may be either ‘+’ or ‘-‘ and numerator and denominator (if present) are strings of decimal digits (underscores may be used to delimit digits as with integral literals in code). In addition, any string that represents a finite value and is accepted by the float constructor is also accepted by the Fraction constructor. In either form the input string may also have leading and/or trailing whitespace. Here are some examples:
>>> 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 類(lèi)繼承自抽象基類(lèi) numbers.Rational,并實(shí)現(xiàn)了該類(lèi)的所有方法和操作。 Fraction 實(shí)例是可哈希的,并應(yīng)當(dāng)被視為不可變對(duì)象。 此外,F(xiàn)raction 還具有以下屬性和方法:
在 3.2 版更改: Fraction 構(gòu)造器現(xiàn)在接受 float 和 decimal.Decimal 實(shí)例。
在 3.9 版更改: 現(xiàn)在會(huì)使用 math.gcd() 函數(shù)來(lái)正規(guī)化 numerator 和 denominator。 math.gcd() 總是返回 int 類(lèi)型。 在之前版本中,GCD 的類(lèi)型取決于 numerator 和 denominator 的類(lèi)型。
在 3.11 版更改: Underscores are now permitted when creating a Fraction instance from a string, following PEP 515 rules.
在 3.11 版更改: Fraction implements __int__ now to satisfy typing.SupportsInt instance checks.
-
numerator
最簡(jiǎn)分?jǐn)?shù)形式的分子。
-
denominator
最簡(jiǎn)分?jǐn)?shù)形式的分母。
-
as_integer_ratio()
返回由兩個(gè)整數(shù)組成的元組,兩數(shù)之比等于該分?jǐn)?shù)的值且其分母為正數(shù)。
3.8 新版功能.
-
classmethod from_float(flt)
只接受 float 或 numbers.Integral 實(shí)例的替代性構(gòu)造器。 請(qǐng)注意
Fraction.from_float(0.3)與Fraction(3, 10)的值是不同的。備注
從 python 3.2 開(kāi)始,在構(gòu)造 Fraction 實(shí)例時(shí)可以直接使用 float。
-
classmethod from_decimal(dec)
只接受 decimal.Decimal 或 numbers.Integral 實(shí)例的替代性構(gòu)造器。
備注
從 Python 3.2 開(kāi)始,在構(gòu)造 Fraction 實(shí)例時(shí)可以直接使用 decimal.Decimal 實(shí)例。
-
limit_denominator(max_denominator=1000000)
找到并返回一個(gè) Fraction 使得其值最接近
self并且分母不大于 max_denominator。 此方法適用于找出給定浮點(diǎn)數(shù)的有理數(shù)近似值:>>> from fractions import Fraction>>> Fraction('3.1415926535897932').limit_denominator(1000)Fraction(355, 113)
或是用來(lái)恢復(fù)被表示為一個(gè)浮點(diǎn)數(shù)的有理數(shù):
>>> from math import pi, cos>>> Fraction(cos(pi/3))Fraction(4503599627370497, 9007199254740992)>>> Fraction(cos(pi/3)).limit_denominator()Fraction(1, 2)>>> Fraction(1.1).limit_denominator()Fraction(11, 10)
-
__floor__()
返回最大的 int
<= self。 此方法也可通過(guò) math.floor() 函數(shù)來(lái)使用:>>> from math import floor>>> floor(Fraction(355, 113))3
-
__ceil__()
返回最小的 int
>= self。 此方法也可通過(guò) math.ceil() 函數(shù)來(lái)使用。 -
__round__()
__round__(ndigits)
第一個(gè)版本返回一個(gè) int 使得其值最接近
self,位值為二分之一時(shí)只對(duì)偶數(shù)舍入。第二個(gè)版本會(huì)將self舍入到最接近Fraction(1, 10**ndigits)的倍數(shù)(如果ndigits為負(fù)值則為邏輯運(yùn)算),位值為二分之一時(shí)同樣只對(duì)偶數(shù)舍入。 此方法也可通過(guò) round() 函數(shù)來(lái)使用。
參見(jiàn)
numbers 模塊
構(gòu)成數(shù)字塔的所有抽象基類(lèi)。
當(dāng)前標(biāo)題:創(chuàng)新互聯(lián)Python教程:fractions—-分?jǐn)?shù)
新聞來(lái)源:http://m.5511xx.com/article/cogjhde.html
其他資訊
- 使用Redis監(jiān)控軟件解決重大問(wèn)題(redis監(jiān)控軟件怎么用)
- 網(wǎng)站設(shè)計(jì)規(guī)劃表怎么寫(xiě),大學(xué)生網(wǎng)站設(shè)計(jì)規(guī)劃書(shū)(網(wǎng)站設(shè)計(jì)規(guī)劃表怎么寫(xiě),大學(xué)生網(wǎng)站設(shè)計(jì)規(guī)劃書(shū)怎么寫(xiě))
- 一次性聊透JVM架構(gòu)設(shè)計(jì),就算八股文也得會(huì)
- 年終狂歡ResellerClub多重優(yōu)惠勁爆來(lái)襲?。╮etrieverclub)
- 網(wǎng)頁(yè)服務(wù)器無(wú)響應(yīng)問(wèn)題有哪些?怎么解決?


咨詢(xún)
建站咨詢(xún)
