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

1、实际案例

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

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

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

('Jim',16,'male','Jim8721@gmail.com'

(Li Lei',17,'male','leile@qq.com')

('Lucy',16,'female','lucy123@yahoo.com')

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

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

 student = ('Jim',16,'male','Jim8721@gmail.com'

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','jim8721@gmail.com')
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值