如何将函数移动到类?



我想在类方法中使用服务函数,其中服务函数在其他地方定义。我想保持动态,这样我就可以在不同的情况下定义不同的功能。我试过这个:

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

相关内容

  • 没有找到相关文章

最新更新