Python如何为元组命名来提高程序可读性

不要过度构建数据结构。尽量使用元组(以及命名元组)而不是对象。
——Guido van Rossum

某学生信息系统中的数据格式为固定格式:
(学号、姓名、性别、年龄)

为了减少内存开销,每个学生信息用元组表示:
(1, 'Tom', 'M', 20)
(2, 'Bob', 'M', 21)
(3, 'Lucy', 'F', 20)

如果使用元组则程序中会大量充斥着下标,影响程序可读性

>>> stu_tom = (1, 'Tom', 'M', 20)
>>> stu_bob = (2, 'Bob', 'M', 21)
>>> stu_lucy = (3, 'Lucy', 'F', 20)
>>> stu_bob[0]
2
>>> stu_tom[1]
'Tom'
>>> stu_lucy[2]
'F'

用命名元组就可以很好的解决这个问题
namedtuple第一个参数为该命名元组的名字,第二个参数为属性构成的列表

>>> from collections import namedtuple
>>> Student = namedtuple('Student', ['no', 'name', 'gender', 'age'])
>>> stu_tom = Student(1, 'Tom', 'M', 20)
>>> stu_bob = Student(2, 'Bob', 'M', 21)
>>> stu_lucy = Student(3, 'Lucy', 'F', 20)
>>> stu_bill = Student(no=4, name='Bill', gender='M', age=21)
>>> stu_bill.name
'Bill'
>>> stu_lucy.age
20
>>> stu_tom.gender
'M'
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,837评论 18 139
  • Python简介 Python历史 Python 是由 Guido van Rossum 在八十年代末和九十年代初...
    莫名其妙的一生阅读 1,067评论 0 2
  • 本文把程序员所需掌握的关键知识总结为三大类19个关键概念,然后给出了掌握每个关键概念所需的入门书籍,必读书籍,以及...
    dle_oxio阅读 11,188评论 6 244
  • 前言 Python的创始人为Guido van Rossum。1989年圣诞节期间,在阿姆斯特丹,Guido为了打...
    依依玖玥阅读 3,591评论 6 37
  • 电影《反转人生》讲述了马奋斗三十多岁一事无成,买保险,一直被拒绝。面对挫折人生,郁郁不得志。和相处6年的女友分手后...
    十七碎碎念阅读 783评论 0 0