namedtuple是继承自tuple的子类,namedtuple创建一个和tuple类似的对象,而且对象拥有可访问的属性。
在对元组中的元素进行访问时,为了更明白的表示出该元素的类别,可以通过namedtuple该元组进行重新定义。
例如:
from collections import namedtuple
#定义了一个元组,包括姓名、年龄、性别、邮箱
student = ('jack', 18, 'mail', '1234@qq.com')
#采用传统方法取得元组中内容的话
name = student[0]
age = student[1]
sex = student[2]
email = student[3]
"""
此时我们并不清楚0,1,2,3代表什么,导致代码可读性降低
为了解决这个问题,我们引入namedtuple建立一个tuple的子类Student
该子类包含'name', 'age', 'sex', 'email'这些属性
"""
Student = namedtuple('Student', ['name', 'age', 'sex', 'email'])
#创建对象
s = Student('jack', 18, 'mail', '1234@qq.com')
#访问对象的属性即可得到值
print(s.name)
print(s.age)
print(s.sex)
print(s.email)
得到结果:
jack
18
mail
1234@qq.com