本模块提供了有理数运算相关功能。一个分数的实例可以从一对整数,或者另外一个有理数,或者从一个字符串来构造:
class fractions.Fraction(numerator=0, denominator=1)
class fractions.Fraction(other_fraction)
class fractions.Fraction(float)
class fractions.Fraction(decimal)
class fractions.Fraction(string)
在第一个构造函数里,numerator是分子,denominator是分母。如果分母是一个0值,会抛出异常ZeroDivisionError。
第二个构造函数是从另一个小数对象构造一个新对象。
第三个构造函数是从浮点数来构造一个小数对象。
第四个是十进制对象构造一个对象。
第五个是从字符串构造一个小数对象。
例子:
#python 3.4
from fractions import *
r = Fraction(16, -10)
print(r)
r = Fraction(128)
print(r)
r = Fraction()
print(r)
r = Fraction(1.23)
print(r)
r = Fraction('2.56')
print(r)
结果输出如下:
-8/5
128
0
2769713770832855/2251799813685248
64/25
numerator
返回分数的分子的值。
例子:
#python 3.4
from fractions import *
r = Fraction(16, -10)
print(r, r.numerator)
结果输出如下:
-8/5 -8
denominator
返回分数的分母的值。
例子:
#python 3.4
from fractions import *
r = Fraction(16, -10)
print(r, r.denominator)
结果输出如下:
-8/5 5
from_float(flt)
从浮点创建小数。
例子:
#python 3.4
from fractions import *
r = Fraction()
x = r.from_float(3.14)
print(r, x)
结果输出如下:
0 7070651414971679/2251799813685248
from_decimal(dec)
从十进数对象创建小数。
例子:
#python 3.4
from fractions import *
import decimal
r = Fraction()
x = r.from_decimal(decimal.Decimal(2.3))
print(r, x)
结果输出如下:
0 2589569785738035/1125899906842624
limit_denominator(max_denominator=1000000)
查找并返回最大分母表示的小数。
例子:
#python 3.4
from fractions import *
import decimal
r = Fraction('3.1415926535897932').limit_denominator(1000)
print(r)
r = Fraction('3.1415926535897932')
print(r)
结果输出如下:
355/113
7853981633974483/2500000000000000
fractions.gcd(a, b)
返回a和b的最大公约数。
例子:
#python 3.4
from fractions import *
r = gcd(10, 20)
print(r)
r = gcd(2, 3)
print(r)
结果输出如下:
10
1
蔡军生 QQ:9073204 深圳