def callback(a, b):
# do something with a, b
class A:
def __init__(self, callback):
# now it won't get passed self
self.callback = staticmethod(callback)
self.callback(1, 2)
或者
class A:
def __init__(self, callback):
self.callback(1, 2)
# now it won't get passed self
callback = staticmethod(callback)
据我所知,包装(像你的装饰)是最简单的方法。既然你已经有了一个存储函数的对象,我就不需要装饰器了。(请注意,我继承了
object
,这是您可能应该做的事情,除非您明确地想要老式的类行为。)这与您预期的一样:
当您将它绑定到类时,只需要将它设置为staticmethod。你知道吗
或者
相关问题 更多 >
编程相关推荐