tuple 类似于c里的struct
student = ('jwang', 16, 'male', 'wang@gmail.com')
# 访问student中的某个元素
# name
student[0]
# age
student[1]
这种student[0]
比较难维护,因为我们没有办法一眼知道它是什么
在c语言里我们有define和枚举
#define NAME 0
#define AGE 1
enum Student {
NAME,
AGE,
SEX
}
在python里怎么做
-
使用赋值的方式
>>> s = ('jwang', 25, 'male') >>> NAME = 0 >>> AGE = 1 >>> MALE = 2 >>> s[NAME] 'jwang' >>> NAME, AGE, MALE = range(3) >>> s[NAME] 'jwang'
-
使用collections的namedtuple
>>> from collections import namedtuple >>> Student = namedtuple('Student', ['NAME', 'AGE', 'MALE']) >>> s = Student('jwang106', 30, 'male') >>> print(s.NAME) jwang106 >>> isinstance(s, tuple) True # 可以看到Student是tuple的一个子类