3.4.1 类工厂函数
有些类的功能很单一,仅仅用来存储数据。但如果先声明一个长长的 __init__
函数,再挨个写 self.xxx = xxx
这种模板代码,就显得很啰嗦。其实也可以自己实现一个 1.1.2 节中的具名元组。具名元zu组是一个函数,它返回一个类:
namedtuple
这种函数可以称为类工厂函数,因为它可以根据传入的参数,动态的生成类,我们来实现一个简化版的:
这个类工厂非常简陋,比如不支持关键字参数,但用来演示类工厂的原理是已经足够了。类工厂的核心原理在于 type
函数,它不仅可以传入一个实例,返回实例的类型,也可以像这里的使用一样,传入三个参数,构造一个类。第一个参数表示类名,第二个参数是继承关系,最后一个则是类的属性。
Last updated