您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

Python中的动态/运行时方法创建(代码生成)

Python中的动态/运行时方法创建(代码生成)

基于Theran的代码,但将其扩展为类的方法

class Dynamo(object):
    pass

def add_dynamo(cls,i):
    def innerdynamo(self):
        print "in dynamo %d" % i
    innerdynamo.__doc__ = "docstring for dynamo%d" % i
    innerdynamo.__name__ = "dynamo%d" % i
    setattr(cls,innerdynamo.__name__,innerdynamo)

for i in range(2):
    add_dynamo(Dynamo, i)

d=Dynamo()
d.dynamo0()
d.dynamo1()

应该打印:

in dynamo 0
in dynamo 1
python 2022/1/1 18:45:34 有324人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶