我想在类方法中使用服务函数,其中服务函数在其他地方定义。我想保持动态,这样我就可以在不同的情况下定义不同的功能。我试过这个:
def print_a():
print 'a'
class A:
func = print_a
@classmethod
def apply(cls):
cls.func()
A.apply()
然而,我收到此错误:
unbound method print_a() must be called with A instance as first argument (got nothing instead)
有什么想法如何让它工作吗?
你可以使用调用
def print_a():
print 'a'
class A:
func = print_a.__call__
@classmethod
def apply(cls):
cls.func()
A.apply()
输出
a