Fraction-Objekt hat kein __int__, aber int (Fraction (…)) funktioniert immer noch
enn Sie in Python ein Objekt haben, können Sie es mit @ in eine Ganzzahl konvertiereint
Funktion.
Zum Beispielint(1.3)
wird zurückkehren1
. Dies funktioniert intern mit dem__int__
magische Methode des Objekts, in diesem speziellen Fallfloat.__int__
.
In PythonFraction
it @ -Objekten können exakte Brüche erstellt werden.
from fractions import Fraction
x = Fraction(4, 3)
Fraction
Objekte haben kein__int__
-Methode, aber Sie können immer noch @ aufrufint()
auf sie und bekommen eine sinnvolle ganze Zahl zurück. Ich habe mich gefragt, wie das möglich ist, ohne__int__
Methode wird definiert.
In [38]: x = Fraction(4, 3)
In [39]: int(x)
Out[39]: 1