如何为元组中的每个元素命名,提高程序可读性

1、实际案例

学生信息系统中数据为固定格式:

(名字,年龄,性别,邮箱地址,...)

学生数量很大为了减小存储开销,对每个学生信息用元组表示:

('Jim',16,'male','[email protected]'

(Li Lei',17,'male','[email protected]')

('Lucy',16,'female','[email protected]')

访问时,我们使用引索(index)访问,大量引索降低程序可读性,如何解决这个问题?

student = ('Jim',16,'male','[email protected]')
#name
print student[0]
#age
if student[1]>=18
2、解决方案
2.1 解决方案一:定义类似与其他语言的枚举类型,也就是定义一系列数值常量
把0、1、2、3赋给变量

 student = ('Jim',16,'male','[email protected]'

NAME,AGE,SEX,EMAIL = xrange(4)

#name

print student[NAME]

#age

if student[AGE] >= 18:

    # ...

#sex

if students[SEX] == 'male':

    #....

2.2 解决方案二:使用标准库中collenctions.namedtuple替代内置touple,运行结果
from collections import namedtuple
Student = namedtuple('Student',['name','age','sex','email'])
s = Student('Jim',16,'male','[email protected]')

猜你喜欢

转载自blog.csdn.net/gis_bt/article/details/80301290
今日推荐