【发布时间】:2015-05-03 13:16:55
【问题描述】:
假设我们有以下类:
class Base(object):
def load(self):
# do logic A
# do logic B
class Child(Base):
def load(self):
# do logic C
我知道装饰器可用于扩展 Python 中的函数行为,但我不知道如何在我的案例中应用它。
当Child'sload()被调用时,如何才能得到以下代码执行顺序?:
logic A
logic C
logic B
我不想做什么
class Base(object)
def logicA()
pass
def logicB()
pass
def load()
pass
class Child(Base):
def load(self):
super.logicA()
# do logic C
super.logicB()
我只想编写逻辑 C,而不必显式调用逻辑 A 和 B
【问题讨论】:
-
将逻辑 A 和 B 拆分为两个不同的功能?
标签: python function inheritance overriding decorator