如何对元组中的每个元素命名,提高程序的可读性?
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了