• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录

jwang106


脚踏实地,日拱一卒。 建立新的神经链接,可不像公园散步那样简单。
  • 博客园
  • 联系
  • 管理

View Post

如何为元组中的每个元素命名,提高程序可读性(1.2)



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里怎么做

  1. 使用赋值的方式

    >>> s = ('jwang', 25, 'male')
    >>> NAME = 0
    >>> AGE = 1
    >>> MALE = 2
    >>> s[NAME]
    'jwang'
    >>> NAME, AGE, MALE = range(3)
    >>> s[NAME]
    'jwang'
    
  2. 使用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的一个子类
    



posted on 2019-01-19 14:15  jwang106  阅读(148)  评论(0)    收藏  举报

刷新页面返回顶部
 
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3