将代码附加到继承的类方法 - python

您将如何附加到继承对象的方法?举例来说:

class ABeautifulClass(GoodClass):
    def __init__(self, **kw):
        # some code that will override inherited code
    def aNewMethod(self):
        # do something

现在,我已经从GoodClass继承了代码,如何将代码附加到继承的方法上。如果我从GoodClass继承了代码,该如何附加到它上面,而不是从根本上删除并重写它。这在Python中可行吗?

python大神给出的解决方案

在Python中,必须通过super关键字显式地调用超类方法。因此,是否执行此操作取决于您,以及执行方法的位置。如果不这样做,那么您的代码将有效替换父类中的代码;否则,您的代码将无效。如果在方法开始时执行此操作,则代码将有效地追加到该方法的后面。

def aNewMethod(self):
    value = super(ABeautifulClass, self).aNewMethod()
    ... your own code goes here