非常教程

Python参考手册

数字与数学 | Numeric & Mathematical

fractions

2.6版本中的新功能。

源代码: Lib / fractions.py

fractions模块提供对有理数算术的支持。

分数实例可以由一对整数,另一个有理数或字符串构造而成。

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

第一个版本要求分子分母是实例,numbers.Rational并返回一个Fraction带有值的新实例numerator/denominator。如果分母0,它提出了一个ZeroDivisionError。第二个版本要求other_fraction是一个实例,numbers.Rational并返回一个Fraction具有相同值的实例。接下来的两个版本接受一个float或一个decimal.Decimal实例,并返回一个Fraction具有完全相同值的实例。需要注意的是,由于与二进制浮点常见问题(见浮点运算:问题和限制),该参数Fraction(1.1)是不完全等于11/10,所以Fraction(1.1)不像Fraction(11, 10)人们所期望的那样回报。(但请参阅limit_denominator()下面方法的文档。)构造函数的最后一个版本需要一个字符串或unicode实例。这种情况的通常形式是:

[sign] numerator ['/' denominator]

其中可选项sign可以是'+'或' - ',numerator并且denominator(如果存在)是十进制数字的字符串。此外,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有以下方法:

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

from_float(flt)

这个类方法构造了一个Fraction代表flt的确切值,它必须是a float。当心这Fraction.from_float(0.3)与价值不同Fraction(3, 10)

注意

从Python 2.7开始,您也可以Fraction直接从a 构建一个实例float

from_decimal(dec)

这个类方法构造了一个Fraction代表dec的确切值的值,它必须是decimal.Decimal

注意

从Python 2.7开始,您还可以Fraction直接从decimal.Decimal实例构建实例。

limit_denominator(max_denominator=1000000)

查找并返回最接近Fractionself具有至多max_denominator的分母。此方法对于找到给定浮点数的有理逼近很有用:

>>> from fractions import Fraction
>>> Fraction('3.1415926535897932').limit_denominator(1000)
Fraction(355, 113)

或者恢复一个表示为浮点的有理数:

>>> 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)

fractions.gcd(a, b)

返回整数ab的最大公约数。如果ab不为零,那么绝对值gcd(a, b)是将ab分开的最大整数。如果b不为零,则gcd(a,b)b具有相同的符号; 否则它需要的符号一个。返回。gcd(0, 0)0

数字与数学 | Numeric & Mathematical相关

Python

Python 是一种面向对象的解释型计算机程序设计语言,由荷兰人 Guido van Rossum 于1989年发明,第一个公开发行版发行于1991年。 Python 是纯粹的自由软件, 源代码和解释器 CPython 遵循 GPL 协议。Python 语法简洁清晰,特色之一是强制用空白符( white space )作为语句缩进。

主页 https://www.python.org/
源码 https://github.com/python/cpython
版本 2.7
发布版本 2.7.13

Python目录

1.内置常量 | Built-in Constants
2.内置例外 | Built-in Exceptions
3.内置函数 | Built-in Functions
4.内置类型 | Built-in Types
5.编译器 | Compiler
6.加密 | Cryptography
7.数据压缩 | Data Compression
8.数据持久性 | Data Persistence
9.数据类型 | Data Types
10.调试和分析 | Debugging & Profiling
11.开发工具 | Development Tools
12.文件和目录访问 | File & Directory Access
13.文件格式 | File Formats
14.构架 | Frameworks
15.输入 | Importing
16.输入/输出 | Input/ouput
17.国际化 | Internationalization
18.网络 | Internet
19.网络数据 | Internet Data
20.翻译 | Interpreters
21.语言 | Language
22.记录 | Logging
23.Mac OS
24.MS Windows
25.多媒体 | Multimedia
26.联网 | Networking
27.数字与数学 | Numeric & Mathematical
28.操作系统 | Operating System
29.可选操作系统 | Optional Operating System
30.限制执行 | Restricted Execution
31.运行 | Runtime
32.SGI IRIX
33.软件包装与分销 | Software Packaging & Distribution
34.字符串 | String
35.结构化标记 | Structured Markup
36.Tk
37.Unix
38.Python 简介
39.Python pass 语句
40.Python 循环嵌套
41.Python 运算符
42.Python log10() 函数
43.Python log() 函数
44.Python floor() 函数
45.Python fabs() 函数
46.Python exp() 函数
47.Python cmp() 函数
48.Python ceil() 函数
49.Python abs() 函数
50.Python Number(数字)
51.Python pow() 函数
52.Python modf() 函数
53.Python min() 函数
54.Python max() 函数
55.Python asin() 函数
56.Python acos() 函数
57.Python uniform() 函数
58.Python shuffle() 函数
59.Python seed() 函数
60.Python random() 函数
61.Python randrange() 函数
62.Python choice() 函数
63.Python sqrt() 函数
64.Python round() 函数
65.Python radians() 函数
66.Python degrees() 函数
67.Python tan() 函数
68.Python sin() 函数
69.Python hypot() 函数
70.Python cos() 函数
71.Python atan2() 函数
72.Python atan() 函数
73.Python 元组
74.Python 列表(List)
75.Python 字符串
76.Python 字典(Dictionary)
77.Python 日期和时间
78.Python 函数
79.Python 模块
80.Python capitalize()方法
81.Python center()方法
82.Python count() 方法
83.Python expandtabs()方法
84.Python endswith()方法
85.Python encode()方法
86.Python decode()方法
87.Python find()方法
88.Python index()方法
89.Python 异常处理
90.Python isspace()方法
91.Python isnumeric()方法
92.Python islower()方法
93.Python isdigit()方法
94.Python isalpha()方法
95.Python isalnum()方法
96.Python isupper()方法
97.Python istitle()方法
98.Python min()方法
99.Python max()方法
100.Python maketrans()方法