几周前,我花了一些时间调查collections.namedtuple
module。该模块使用工厂函数将动态数据(新namedtuple
类的名称和类属性名称)填充到一个非常大的字符串中。然后,以字符串(表示代码)作为参数执行exec
,并返回新类。
有没有人知道为什么要这样做,因为有一种特定的工具可以用来处理这种事情,即元类?我自己并没有尝试过这样做,但是似乎使用namedtuple
元类就可以轻松地完成namedtuple
模块中发生的所有事情,如下所示:
class namedtuple(type):
等等。
https://stackoverflow.com/questions/28184531
复制相似问题