我是否正确假设Python中的对象具有所有魔术方法的默认实现(由双下划线包围的方法,例如__init__
)?
答案 0 :(得分:6)
没有
>>> object.__add__
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
AttributeError: type object 'object' has no attribute '__add__'
其中一些确实有默认实现,例如__init__
,但大多数都没有。
答案 1 :(得分:-1)
不,它没有所有魔术功能的默认实现。
仅当所有对象都从公共默认基类继承时才会出现。
有不同的类,这些类的不同实现需要不同的魔术函数。
请object.__class__
获取班级名称
要查找该对象中的所有功能,您可以执行dir(object)