如何对元组中的每个元素命名,提高程序的可读性?
python备忘
比如说下面的一段代码
student = ('Jim',16,'male','jim8721@gmail.com')
# name
print student[0]
# age
if student[1]>=18:
#...
if student[2]=='male':
#...我们定义了一个元组,但是取值的时候,必须通过它们的索引进行取值,容易找错,而且程序可读性太低,我们改造一下
NAME,AGE,SEX,EMAIL = range(4)
student = ('Jim',16,'male','jim8721@gmail.com')
# name
print student[NAME]
# age
if student[AGE]>=18:
#...
if student[SEX]=='male':
#...这样看起来好多了,我们也可以用标准库中的collections.namedtuple来替代内置的tuple,接下来我们看一下如何使用它
from collections import namedtuple
Student = namedtuple('Student',['name','age','sex','email'])
s = Student("Jim",16,'male','jim8721@gmail.com')这样我们说可以通过s[0] 或者是s.name来得到Jim了
