2024-04-25 00:38:03 发布
网友
我在寻找一种向python类动态添加静态方法的方法。你知道吗
我的尝试如下:
class C(object): a = None k = 2 C.a = lambda x: k*x print C.a(2)
不幸的是,我得到了一个错误,即需要C实例作为a的第一个参数。实际上,python认为a是类C的实例方法,而不是类方法。你知道吗
C
a
原因是什么?我怎样才能克服这个问题?你知道吗
使用staticmethod:
staticmethod
>>> C.a = staticmethod(lambda x: k*x) >>> print C.a(2) 4
使用
staticmethod
:相关问题 更多 >
编程相关推荐