我正在学习python和继承。是特殊方法-带有__前缀的方法被继承。我尝试了这段代码:
class a:
def __str__(self):
return "this is object of class a"
pass
class b(a):
pass
a和b的打印对象都给出相同的输出,这证明了这一点。 __前缀的方法也继承了,与普通方法有什么区别。
答案 0 :(得分:2)
Python的“魔术方法”(由双下划线(“ dunders”)包围)本质上是与该语言的面向对象机制挂钩。有关如何使用它们的详细信息,请参见this post。
要直接回答您的问题,魔术方法像其他任何类方法一样被继承,并且通常具有相同的行为。唯一的区别是它们对Python解释器具有特殊的意义,使程序员可以控制相等性检查,迭代,上下文管理等功能。