Python namedtuple命名元组实现过程解析


Posted in Python onJanuary 08, 2020

这篇文章主要介绍了Python namedtuple命名元组实现过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

命名元组(namedtuple)是一种带有属性的元组,它们是组合只读数据的很好的方式。

相比一般的元组,构造命名元组需要先导入namedtuple,因为它不在默认的命名空间里。然后通过名字和属性来定义一个命名元组。这会返回一个像类一样的对象,可以进行多次实例化。

命名元组可以被打包、解包以及做所有可以对普通元组做的事,并且还可以像一个对象一样访问它的某个属性。

命名元组非常适合表示“只有数据”的情况,但并不是对所有情况来说都非常理想。和元组及字符串一样,命名元组也是不可变的,因此一旦为属性设定了值之后就不能更改。

如果需要修改存储的数据,用字典类型会更合适。

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)

输出:

Student(gender='Male', age=24, height=1.92)
1.68
24
==============
Female
18
1.68

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
pymongo为mongodb数据库添加索引的方法
May 11 Python
Python socket实现简单聊天室
Apr 01 Python
python 日期操作类代码
May 05 Python
Python实现快速傅里叶变换的方法(FFT)
Jul 21 Python
Python实现基于POS算法的区块链
Aug 07 Python
使用Python 统计高频字数的方法
Jan 31 Python
详解python读取image
Apr 03 Python
Python for循环与getitem的关系详解
Jan 02 Python
python opencv 检测移动物体并截图保存实例
Mar 10 Python
python打开文件的方式有哪些
Jun 29 Python
python 窃取摄像头照片的实现示例
Jan 08 Python
能让Python提速超40倍的神器Cython详解
Jun 24 Python
Pytorch基本变量类型FloatTensor与Variable用法
Jan 08 #Python
python pycharm最新版本激活码(永久有效)附python安装教程
Sep 18 #Python
pytorch 中pad函数toch.nn.functional.pad()的用法
Jan 08 #Python
pycharm激活码有效到2020年11月底
Sep 18 #Python
pymysql的简单封装代码实例
Jan 08 #Python
pytorch使用 to 进行类型转换方式
Jan 08 #Python
Pycharm 2020年最新激活码(亲测有效)
Sep 18 #Python
You might like
DC这些乐高系列动画电影你看过几部?
2020/04/09 欧美动漫
PHP_Flame(Version:Progress)的原代码
2006/10/09 PHP
用Zend Encode编写开发PHP程序
2006/10/09 PHP
弄了个检测传输的参数是否为数字的Function
2006/12/06 PHP
详解PHP中的null合并运算符
2015/12/30 PHP
php版阿里云OSS图片上传类详解
2016/12/01 PHP
php图片裁剪函数
2018/10/31 PHP
JavaScript库 开发规则
2009/01/31 Javascript
Prototype源码浅析 Enumerable部分之each方法
2012/01/16 Javascript
jQuery之自动完成组件的深入解析
2013/06/19 Javascript
被遗忘的javascript的slice() 方法
2015/04/20 Javascript
js贪吃蛇网页版游戏特效代码分享(挑战十关)
2015/08/24 Javascript
分享两款带遮罩的jQuery弹出框
2015/12/30 Javascript
jquery.validate 自定义验证方法及validate相关参数
2016/01/18 Javascript
VUEJS实战之构建基础并渲染出列表(1)
2016/06/13 Javascript
javascript加减乘除的简单实例
2016/07/12 Javascript
IScroll那些事_当内容不足时下拉刷新的解决方法
2017/07/18 Javascript
webpack组织模块打包Library的原理及实现
2018/03/10 Javascript
详解vue+axios给开发环境和生产环境配置不同的接口地址
2019/08/16 Javascript
js找出5个数中最大的一个数和倒数第二大的数实现方法示例小结
2020/03/04 Javascript
[02:46]解说DC:感谢430陪伴我们的DOTA2国际邀请赛岁月
2016/06/29 DOTA
[01:34]DOTA2 7.22版本新增神杖效果一览(敏捷英雄篇)
2019/05/28 DOTA
[54:58]完美世界DOTA2联赛PWL S2 LBZS vs Rebirth 第一场 11.25
2020/11/25 DOTA
Python实现二维有序数组查找的方法
2016/04/27 Python
详解如何在python中读写和存储matlab的数据文件(*.mat)
2018/02/24 Python
Python工厂函数用法实例分析
2018/05/14 Python
python threading和multiprocessing模块基本用法实例分析
2019/07/25 Python
python+openCV调用摄像头拍摄和处理图片的实现
2019/08/06 Python
浅谈pytorch、cuda、python的版本对齐问题
2020/01/15 Python
pytorch实现Tensor变量之间的转换
2020/02/17 Python
Pandas直接读取sql脚本的方法
2021/01/21 Python
VIVOBAREFOOT赤脚鞋:让您的脚做自然的事情
2017/06/01 全球购物
技校毕业生自荐信范文
2014/03/07 职场文书
公司2014年度工作总结
2014/12/10 职场文书
小学生交通安全寄语
2015/02/27 职场文书
css3 实现文字闪烁效果的三种方式示例代码
2021/04/25 HTML / CSS