开发中经常遇到 mysql.conn.fetchall() 返回一个元祖,如何快速给元祖中每个字段命名并且可读性高呢?
第一种自定义枚举类
from enum import IntEnum # 内置枚举类
res = ("Bob", 22, "male") # 定义一个元祖
class Student(IntEnum):
NAME = 0
AGE = 1
SEX = 2
res[Student.NAME]
>>> "Bob"
res[Student.AGE]
>>> 22
isinstance(Student.AGE, int)
>>> True
另一种,使用collections集合
from collections import namedtuple
Stu = namedtuple('student', ['name', 'age', 'sex'])
s1 = Stu("Bob", 22, "male")
s1["name"]
>>> "Bob"
isinstance(s1, tuple)
>>> True
这样处理元祖就方便多了。