##### 元组的存储空间很小,访问速度也快,但是用索引(index)来访问,大量索引降低程序可读性。 >用索引去访问元组的用法:(差的可读性) ```python tuple_x = ('XiaoMing',16,10010,'test@mail.com') print(tuple_x[0]) print(tuple_x[1]) print(tuple_x[2]) print(tuple_x[3]) -------------------------------------------------- 输出: XiaoMing 16 10010 test@mail.com ``` >定义类似与其他语言的枚举类型,也就是定义一系列的数值类型(一般可读性)。定义了4个变量,对应0,1,2,3。也就是索引值。 ```python NAME,AGE,PHONE,EMAIL = range(4) print(tuple_x[NAME]) print(tuple_x[AGE]) print(tuple_x[PHONE]) print(tuple_x[EMAIL]) ------------------------------------------- 输出: XiaoMing 16 10010 test@mail.com ``` >***推荐做法:***使用标准库中`collections.namedtuple`替代内置`tuple`(优雅可读性) ```python from collections import namedtuple # 第一个参数创建子类的名字,第二个参数传入你要给每个索引定义的名字 Student = namedtuple('Student',['name','age','phone','email']) s = Student('XiaoMing',16,10010,'test@mail.com') print(s.name) print(s.age) print(s.phone) print(s.email) --------------------------------------------- 输出: XiaoMing 16 10010 test@mail.com ``` 注:```s = Student('XiaoMing',16,10010,'test@mail.com')```也可以使用关键字参数:```s = Student(name='XiaoMing',age='11',phone='10010',email='test@mail.com')```