给元祖命名

开发中经常遇到 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

这样处理元祖就方便多了。

发布了74 篇原创文章 · 获赞 43 · 访问量 6万+

猜你喜欢

转载自blog.csdn.net/fenglei0415/article/details/85106085