Python 3.7.1 中 namedtuple 具名元组基本用法详解
转载请注明出处:https://blog.youkuaiyun.com/jpch89/article/details/84645251
文章目录
0. 参考资料
1. 概述
namedtuple
大多数翻译作具名元组或命名元组,个人喜欢前者的译法。
具名元组可以理解为元组的增强版本,它适用于任何普通元组的应用范围。
具名元组为元组中的每个元素都赋予了含义,从而增强代码可读性,能够让程序员写出自文档化 self-documenting
的代码。
2. namedtuple() 定义与参数
namedtuple()
工厂函数返回一个具名元组类,该函数位于 collections
模块下,具体定义形式如下:
namedtuple(typename, field_names, *, rename=False, defaults=None, module=None)
2.1 typename 参数
namedtuple
返回一个元组的子类(即具名元组类),类名为 typename
。
通过具名元组类创建出来的具名元组对象,其内部元素支持属性查找(点号语法)、索引操作(方括号语法),并且是可迭代的。
具名元组对象还有自动生成的文档字符串,和一个 __repr__()
方法,把具名元组对象展示为 name=value
的格式。
下面是一小段示例代码:
from collections import namedtuple
Student = namedtuple('Student', 'name, gender')
s = Student('小花', '女')
# 属性访问
print(s.name)
print(s.gender)
"""
小花
女
"""
# 索引取值
print(s[0])
print(s[1])
"""
小花
女
"""