访问元组的信息时,我们使用索引(index)访问,会大量降低程序可读性,所以用以下两种方式可以解决这个问题。
- 1. 定义类似于其他语言的枚举类型,也就是定义一系列数值常量
- 2. 使用标准库中 collections.namedtuple 替代内置tuple
方法一:
NAME = 0
AGE = 1
SEX = 2
EMAIL = 3
student = ('Dimples', 23, '女', '12345@qq.com')
if student[AGE] >= 18: # student[1] >= 18
pass
if student[SEX] == '女': # student[2] == '女'
pass
方法二:
使用标准库中 collections.namedtuple 替代内置tuple
from collections import namedtuple
相当于类的工厂:
类型 = namedtuple('创建子类的名字’,[一系列的名字])
Student = namedtuple('Student', ['name', 'age', 'sex', 'email'])
s = Student('Dinples', 23, '女', '12345@qq.com')
以类对象的形式访问元组:
s.name
# s是内置类型tuple的一个子类