collections是Python内建的一个集合模块,提供了许多有用的集合类。
collections.namedtuple是一个工厂方法,它可以动态的创建一个继承tuple的子类。跟tuple相比,返回的子类可以使用名称来访问元素。
namedtuple是一个函数,它用来创建一个自定义的tuple对象,并且规定了tuple元素的个数,并可以用属性而不是索引来引用tuple的某个元素。
这样一来,我们用namedtuple可以很方便地定义一种数据类型,它具备tuple的不变性,又可以根据属性来引用,使用十分方便
>>> DummyRequest = namedtuple('DummyRequest', ['host', 'scheme'])
>>> DummyRequest("", "http")
DummyRequest(host='', scheme='http')
>>> a=DummyRequest("", "http")
>>> a.host
''
>>> a.scheme
'http'
>>>