【发布时间】:2017-03-16 12:22:57
【问题描述】:
python3.3以后如何使用types.new_class方法?
以下是签名。
types.new_class(name, bases=(), kwds=None, exec_body=None)
如何使用 exec_body?exec_body 必须是可调用对象,并且需要一个参数ns。 (可能是指namespace)
什么类型的对象应该传递给ns?
根据new_class的文档,
exec_body 参数是一个回调,用于填充新创建的类命名空间。它应该接受类命名空间作为其唯一参数,并直接使用类内容更新命名空间。如果没有提供回调,则与传入 lambda ns: ns. 效果相同。
我不知道上面关于ns 和 exec_body 的描述的含义。
如何使用此功能?
【问题讨论】:
-
也许从使用 lambda 开始。或者将其保留为无