【发布时间】:2015-06-21 15:32:08
【问题描述】:
在 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
【问题讨论】:
标签: python int fractions python-internals