是否所有对象都可以使用python魔术方法

wob*_*col 3 python

假设Python中的对象具有所有魔术方法的默认实现(由双下划线包围的那些,例如__init__),我是否正确?

use*_*ica 6

没有.

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

他们中的一些确实有默认实现__init__,但是大多数都没有.

  • @wobbily_col:通常,特殊方法是Python用来实现语言功能的方法.例如,迭代的`__iter__`,加法的`__add__`和对象初始化的`__init__`.默认实现与它无关. (2认同)