2013-12-11 73 views

回答

6

>>> object.__add__ 
Traceback (most recent call last): 
    File "<stdin>", line 1, in <module> 
AttributeError: type object 'object' has no attribute '__add__' 

他們中有些人的確有默認的實現,如__init__,但大多沒有。

+0

是什麼讓一個方法「魔力」? –

+2

@wobbily_col:通常,特殊方法是Python用來實現語言特性的方法。例如,'__iter__'用於迭代,'__add__'用於添加,'__init__'用於對象初始化。有一個默認的實現與它無關。 – user2357112

-1

不,它沒有所有魔術功能的默認實現。

只有當所有對象都從共同的默認基類繼承時,纔會出現這種情況。

有不同的類和不同的實現這些類需要不同的魔術功能。

object.__class__獲取類名

找出所有在該對象中,你可以做的功能dir(object)

更多 - http://docs.python.org/release/2.5.2/ref/node33.html

+0

「只有當所有對象都從一個通用的默認基類繼承時纔會如此。」 - 除了它們*都*從一個通用的默認基類繼承。該類是「對象」。 – user2357112

+0

感謝您的糾正! – Arovit

相關問題