【发布时间】:2011-12-02 22:49:30
【问题描述】:
在我的代码中,我在运行时生成新的 python 类。对于其中一些,我想生成python代码,就像我将这些类写在一个.py文件中一样。
假设我动态创建了一个 A 类:
type('A', (), {'bar':True} 相当于代码:
class A(object):
bar=True
我想要的是从我的动态类生成这个等效代码。 我正在尝试实现一个函数“generate_A_code”
kls_A = type('A', (), {'bar':True}
kls_A.generate_A_code()
希望这会有所帮助。
谢谢
【问题讨论】:
-
您能否举一个简单的例子,并附上一些代码并解释您想要实现的目标?
-
感谢您的澄清。现在,“我动态创建了一个 A 类”究竟是什么意思?听起来它不是您的
.py文件的一部分,您也不会将代码生成为字符串和eval它......那么您到底在做什么? -
这是我写的动态创建类的示例:Foo = type('Foo', (), {'bar':True})
标签: python code-generation metaprogramming