如何在python避免一個int作爲一個對象,但卻又是一個:的Python 2.7:整數作爲對象
如果我執行以下操作:
>>> dir(10)
['__abs__', '__add__', '__and__', '__class__', '__cmp__', '__coerce__', '__delattr__', '__div__', '__divmod__', '__doc__', '__float__', '__floordiv__', '__format__', '__getattribute__', '__getnewargs__', '__hash__', '__hex__', '__index__', '__init__', '__int__', '__invert__', '__long__', '__lshift__', '__mod__', '__mul__', '__neg__', '__new__', '__nonzero__', '__oct__', '__or__', '__pos__', '__pow__', '__radd__', '__rand__', '__rdiv__', '__rdivmod__', '__reduce__', '__reduce_ex__', '__repr__', '__rfloordiv__', '__rlshift__', '__rmod__', '__rmul__', '__ror__', '__rpow__', '__rrshift__', '__rshift__', '__rsub__', '__rtruediv__', '__rxor__', '__setattr__', '__sizeof__', '__str__', '__sub__', '__subclasshook__', '__truediv__', '__trunc__', '__xor__', 'bit_length', 'conjugate', 'denominator', 'imag', 'numerator', 'real']
>>> 10.__add__(20)
File "<stdin>", line 1
10.__add__(20)
^
SyntaxError: invalid syntax
如果我在10鍵入它產生10.0而諸如10 .__ anything __之類的任何內容都會產生語法錯誤。這是有道理的,因爲浮動將被視爲10.5,但是
- 這是如何實現/實現的?
- 我該如何調用int方法?
左手邊括號在這種情況下做什麼?它是否將表達式評估爲int對象? – Har
我想你可以這麼說,但它是從一個float – ReyCharles
'(10.)__add __(20)'和'10 .__ add __(20)'消除歧義。 – ReyCharles