Python fractions模块 —— 分数相关函数
2021/5/30 12:21:33
本文主要是介绍Python fractions模块 —— 分数相关函数,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
这是一简单的模块,搞不懂python为什么不把它并入math模块?
>>> import fractions >>> fractions.__all__ ['Fraction', 'gcd'] >>> fractions.gcd(12,18) Warning (from warnings module): File "<pyshell#2>", line 1 DeprecationWarning: fractions.gcd() is deprecated. Use math.gcd() instead. 6 >>> fractions.gcd(14,6) 2 >>> import math >>> math.gcd(14,6) 2 >>>
一共就俩,其中一个最大公约数函数gcd()还不推荐使用,用math中的gcd替代。
fractions模块中的类Fraction
class Fraction(numbers.Rational) | Fraction(numerator=0, denominator=None, *, _normalize=True) | | This class implements rational numbers. | | In the two-argument form of the constructor, Fraction(8, 6) will | produce a rational number equivalent to 4/3. Both arguments must | be Rational. The numerator defaults to 0 and the denominator | defaults to 1 so that Fraction(3) == 3 and Fraction() == 0. | | Fractions can also be constructed from: | | - numeric strings similar to those accepted by the | float constructor (for example, '-2.3' or '1e10') | | - strings of the form '123/456' | | - float and Decimal instances | | - other Rational instances (including integers) | | Method resolution order: | Fraction | numbers.Rational | numbers.Real | numbers.Complex | numbers.Number | builtins.object | | Methods defined here: | | __abs__(a) | abs(a) | | __add__(a, b) | a + b | | __bool__(a) | a != 0 | | __ceil__(a) | math.ceil(a) | | __copy__(self) | | __deepcopy__(self, memo) | | __divmod__(a, b) | (a // b, a % b) | | __eq__(a, b) | a == b | | __floor__(a) | math.floor(a) | | __floordiv__(a, b) | a // b | | __ge__(a, b) | a >= b | | __gt__(a, b) | a > b | | __hash__(self) | hash(self) | | __le__(a, b) | a <= b | | __lt__(a, b) | a < b | | __mod__(a, b) | a % b | | __mul__(a, b) | a * b | | __neg__(a) | -a | | __pos__(a) | +a: Coerces a subclass instance to Fraction | | __pow__(a, b) | a ** b | | If b is not an integer, the result will be a float or complex | since roots are generally irrational. If b is an integer, the | result will be rational. | | __radd__(b, a) | a + b | | __rdivmod__(b, a) | (a // b, a % b) | | __reduce__(self) | Helper for pickle. | | __repr__(self) | repr(self) | | __rfloordiv__(b, a) | a // b | | __rmod__(b, a) | a % b | | __rmul__(b, a) | a * b | | __round__(self, ndigits=None) | round(self, ndigits) | | Rounds half toward even. | | __rpow__(b, a) | a ** b | | __rsub__(b, a) | a - b | | __rtruediv__(b, a) | a / b | | __str__(self) | str(self) | | __sub__(a, b) | a - b | | __truediv__(a, b) | a / b | | __trunc__(a) | trunc(a) | | as_integer_ratio(self) | Return the integer ratio as a tuple. | | Return a tuple of two integers, whose ratio is equal to the | Fraction and with a positive denominator. | | limit_denominator(self, max_denominator=1000000) | Closest Fraction to self with denominator at most max_denominator. | | >>> Fraction('3.141592653589793').limit_denominator(10) | Fraction(22, 7) | >>> Fraction('3.141592653589793').limit_denominator(100) | Fraction(311, 99) | >>> Fraction(4321, 8765).limit_denominator(10000) | Fraction(4321, 8765) | | ---------------------------------------------------------------------- | Class methods defined here: | | from_decimal(dec) from abc.ABCMeta | Converts a finite Decimal instance to a rational number, exactly. | | from_float(f) from abc.ABCMeta | Converts a finite float to a rational number, exactly. | | Beware that Fraction.from_float(0.3) != Fraction(3, 10). | | ---------------------------------------------------------------------- | Static methods defined here: | | __new__(cls, numerator=0, denominator=None, *, _normalize=True) | Constructs a Rational. | | Takes a string like '3/2' or '1.5', another Rational instance, a | numerator/denominator pair, or a float. | | Examples | -------- | | >>> Fraction(10, -8) | Fraction(-5, 4) | >>> Fraction(Fraction(1, 7), 5) | Fraction(1, 35) | >>> Fraction(Fraction(1, 7), Fraction(2, 3)) | Fraction(3, 14) | >>> Fraction('314') | Fraction(314, 1) | >>> Fraction('-35/4') | Fraction(-35, 4) | >>> Fraction('3.1415') # conversion from numeric string | Fraction(6283, 2000) | >>> Fraction('-47e-2') # string may include a decimal exponent | Fraction(-47, 100) | >>> Fraction(1.47) # direct construction from float (exact conversion) | Fraction(6620291452234629, 4503599627370496) | >>> Fraction(2.25) | Fraction(9, 4) | >>> Fraction(Decimal('1.47')) | Fraction(147, 100) | | ---------------------------------------------------------------------- | Readonly properties defined here: | | denominator | | numerator | | ---------------------------------------------------------------------- | Data and other attributes defined here: | | __abstractmethods__ = frozenset() | | ---------------------------------------------------------------------- | Methods inherited from numbers.Rational: | | __float__(self) | float(self) = self.numerator / self.denominator | | It's important that this conversion use the integer's "true" | division rather than casting one side to float before dividing | so that ratios of huge integers convert without overflowing. | | ---------------------------------------------------------------------- | Methods inherited from numbers.Real: | | __complex__(self) | complex(self) == complex(float(self), 0) | | conjugate(self) | Conjugate is a no-op for Reals. | | ---------------------------------------------------------------------- | Readonly properties inherited from numbers.Real: | | imag | Real numbers have no imaginary component. | | real | Real numbers are their real component.
函数实例在上述帮助中有......混一篇凑凑数 ^_^
这篇关于Python fractions模块 —— 分数相关函数的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-21Python编程基础教程
- 2024-11-20Python编程基础与实践
- 2024-11-20Python编程基础与高级应用
- 2024-11-19Python 基础编程教程
- 2024-11-19Python基础入门教程
- 2024-11-17在FastAPI项目中添加一个生产级别的数据库——本地环境搭建指南
- 2024-11-16`PyMuPDF4LLM`:提取PDF数据的神器
- 2024-11-16四种数据科学Web界面框架快速对比:Rio、Reflex、Streamlit和Plotly Dash
- 2024-11-14获取参数学习:Python编程入门教程
- 2024-11-14Python编程基础入门