1-2如何为元组的每个元素命名,提高程序的可读性

image.png

类似枚举法

我查找元组里面的元素一般采用下标,当数量比较大时,可读性不好

student = ("cuzz", 18, "male", "cuzz1234@163.com")

# name
print(student[0])

# age 
if student[1] >= 18:
    print("你成年了")
    
# sex
if student[2] == "male":
    pass

C语言有枚举法可以增加可读性,而Python中没有,但是我们可以有一种类似的方法

student = ("cuzz", 18, "male", "cuzz1234@163.com")

NAME, AGE, SEX, EMAIL = range(4)
# name
print(student[NAME])

# age
if student[AGE] >= 18:
    print("你成年了")

# sex
if student[SEX] == "male":
    pass

使用内置函数namedtupe

namedtuple类位于collections模块,有了namedtuple后通过属性访问数据能够让我们的代码更加的直观更好维护。
namedtuple能够用来创建类似于元祖的数据类型,除了能够用索引来访问数据,能够迭代,还能够方便的通过属性名来访问数据。

from collections import namedtuple

# 创建,不用列表"name age sex email"这样创建也可
Student = namedtuple("Student", ["name", "age", "sex", "email"])

# 添加
s = Student("cuzz", 18, "male", "cuzz1234@163.com")

# 访问
print(s.name)  // cuzz

# 判断类型
print(isinstance(s, tuple)  // ture
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 案例:学生信息系统中数据为固定格式:{名字,年龄,性别,邮箱.....} (元组优势:存储空间小,访问速度快)学生...
    马小跳_阅读 190评论 0 0
  • 实际案例 学生信息系统中数据为固定格式:(名字,年龄,性别,邮箱地址,...) 如:学生数量很大为了减小存储开销,...
    SmallRookie阅读 317评论 0 0
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,281评论 19 139
  • 五莲县实验小学2013级十班 侯林汝 暑假,我看了《窗边的小豆豆》这本书,是〔日〕 黑柳彻子写的,她写了日本有史...
    侯林袄阅读 510评论 0 0
  • 六、一班 郭少茹 十二年前您生下了我, 十二年间您尽心照顾我。 您呕心沥血养育了我, 却换来了我处处的不理解。 您...
    一花匠阅读 380评论 0 1