在Python 2中,调用从父类继承的方法有两种方式。使用
super
可以明确方法来自于父类,而不使用super
则不明确方法来源。class Parent(object):
def greet(self):
print('Hello from Parent')
class Child(Parent):
def __init__(self):
super(Child, self).__init__()
def hello(self):
print('Hello from Child')
self.greet()
super(Child, self).greet()
child = Child()
child.hello()
输出:
Hello from Child
Hello from Parent
Hello from Parent
哪一个更好呢?我看到社区建议通过super
进行调用,但是没有super
的话调用会更简洁。
这个问题仅适用于Python 2。