在python中我可以这样做:
exec(code_string, globals(), some_object.__dict__)
向对象添加方法。是否可以以某种类似的方式向类添加静态方法?喜欢:
exec(code_string, globals(), ClassName.__dict__)
这样我就可以静态调用该方法:
ClassName.some_static_method()
我想要做的是在运行时添加新的静态方法,给定一些定义该方法的 python 代码。即如果给我:
code_string = '''
@staticmethod
def test():
return 'blah'
'''
如何创建并将其实例化为一个类以便我可以调用它?
希望我足够清楚,谢谢!
编辑: 向对象添加函数的工作示例:
class TestObject(object):
pass
code_string = '''
def test():
return 'blah'
'''
t = TestObject()
exec(code_string, globals(), t.__dict__)