这篇文章主要介绍了Python namedtuple命名元组实现过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
命名元组(namedtuple)是一种带有属性的元组,它们是组合只读数据的很好的方式。
相比一般的元组,构造命名元组需要先导入namedtuple,因为它不在默认的命名空间里。然后通过名字和属性来定义一个命名元组。这会返回一个像类一样的对象,可以进行多次实例化。
命名元组可以被打包、解包以及做所有可以对普通元组做的事,并且还可以像一个对象一样访问它的某个属性。
命名元组非常适合表示“只有数据”的情况,但并不是对所有情况来说都非常理想。和元组及字符串一样,命名元组也是不可变的,因此一旦为属性设定了值之后就不能更改。
如果需要修改存储的数据,用字典类型会更合适。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
|
from collections import namedtuple
# 创建一个namedtuple的学生类,第一个参数是命名元组的名称,第二个参数是命名元组的属性,多个用空格隔开(或者逗号)
Student = namedtuple( 'Student' , 'gender age height' )
# 实例化学生,赋予属性,和上面第二个参数相对应
Miles = Student( 'Male' , 24 , 1.92 )
Mary = Student( 'Female' , 18 , 1.68 )
# 查看属性
print (Miles) # 查看Miles所有属性
print (Mary.height) # 查看Mary的身高
print (Miles[ 1 ]) # 通过索引查看Miles的年龄
print ( '==============' )
# 遍历元组
for i in Mary:
print (i)
|
输出:
1
2
3
4
5
6
7
|
Student(gender= 'Male' , age=24, height=1.92)
1.68
24
==============
Female
18
1.68
|
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持服务器之家。
原文链接:https://www.cnblogs.com/milesma/p/12155841.html