在Python中,当你有一个对象时,你可以使用以下命令将其转换为整数:int
功能。
例如int(1.3)
将返回1
。这在内部通过使用__int__
在这种特殊情况下,对象的魔术方法float.__int__
.
在Python中Fraction
对象可用于构造精确分数。
from fractions import Fraction
x = Fraction(4, 3)
Fraction
物体缺乏__int__
方法,但你仍然可以调用int()
并得到一个合理的整数。我想知道如果没有__int__
方法被定义。
In [38]: x = Fraction(4, 3)
In [39]: int(x)
Out[39]: 1
The __trunc__
使用方法。
>>> class X(object):
def __trunc__(self):
return 2.
>>> int(X())
2
__float__
不起作用
>>> class X(object):
def __float__(self):
return 2.
>>> int(X())
Traceback (most recent call last):
File "<pyshell#7>", line 1, in <module>
int(X())
TypeError: int() argument must be a string, a bytes-like object or a number, not 'X'
CPython 源代码显示何时__trunc__
用来。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)