说,我有两个班A
和B
。当使用test()
从子class B
调用super
函数时,它应该跳过@validate
装饰器。从子类调用时,如何强制super
方法跳过父类函数的装饰器?有可能吗?
class A:
@validate
def test():
pass
Class B(A):
@validate
def test():
super(B, self).test()
pass
答案 0 :(得分:2)
您可以在父类中删除@validate
批注,这样它就不会被调用
class A:
def test():
pass
Class B(A):
@validate
def test()
super(B, self).test()
pass
另一种选择是使用中间方法
class A:
@validate
def test():
intermediate()
def intermediate():
pass
Class B(A):
@validate
def test()
super(B, self).intermediate()
pass