特殊方法python

时间:2018-10-11 17:39:47

标签: python

我正在学习python和继承。是特殊方法-带有__前缀的方法被继承。我尝试了这段代码:

class a:
    def __str__(self):
        return "this is object of class a"
    pass
class b(a):
    pass

a和b的打印对象都给出相同的输出,这证明了这一点。 __前缀的方法也继承了,与普通方法有什么区别。

1 个答案:

答案 0 :(得分:2)

Python的“魔术方法”(由双下划线(“ dunders”)包围)本质上是与该语言的面向对象机制挂钩。有关如何使用它们的详细信息,请参见this post

要直接回答您的问题,魔术方法像其他任何类方法一样被继承,并且通常具有相同的行为。唯一的区别是它们对Python解释器具有特殊的意义,使程序员可以控制相等性检查,迭代,上下文管理等功能。