我正在构建一个继承自另一个类 Parent 的类 Child。Parent 类有一个 Child 将使用的 loadPage 方法,但 Child 需要在接近 loadPage 函数的末尾但在函数的最终语句之前运行自己的代码。我需要以某种方式将此函数插入到 loadPage 中,仅用于子实例,而不是父实例。我正在考虑将 customFunc 参数放入 loadPage 并将其默认为 None 对于 Parent,但对于 Child 默认为 someFunction。
如何仅为 Child 的实例更改 loadPage 方法的默认值?还是我要解决这个问题?我觉得我可能忽略了一个更好的解决方案。
class Parent():
def __init__(self):
# statement...
# statement...
def loadPage(self, pageTitle, customFunc=None):
# statement...
# statement...
# statement...
if customFunc:
customFunc()
# statement...
# statement...
class Child(Parent):
def __init__(self):
Parent.__init__(self)
self.loadPage.func_defaults = (self.someFunction) #<-- This doesn't work