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 相关文章推荐
Windows系统配置python脚本开机启动的3种方法分享
Mar 10 Python
Python中endswith()函数的基本使用
Apr 07 Python
Python实现字典的key和values的交换
Aug 04 Python
使用python加密自己的密码
Aug 04 Python
Python中的命令行参数解析工具之docopt详解
Mar 27 Python
Python读取文件内容的三种常用方式及效率比较
Oct 07 Python
python实现定时自动备份文件到其他主机的实例代码
Feb 23 Python
Python利用pandas计算多个CSV文件数据值的实例
Apr 19 Python
Python中property函数用法实例分析
Jun 04 Python
Jupyter notebook在mac:linux上的配置和远程访问的方法
Jan 14 Python
Jupyter notebook快速入门教程(推荐)
May 18 Python
python 爬取百度文库并下载(免费文章限定)
Dec 04 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
用PHP连mysql和oracle数据库性能比较
2006/10/09 PHP
社区(php&&mysql)二
2006/10/09 PHP
通过缓存数据库结果提高PHP性能的原理介绍
2012/09/05 PHP
php mailer类调用远程SMTP服务器发送邮件实现方法
2016/03/04 PHP
Yii2创建表单(ActiveForm)方法详解
2016/07/23 PHP
PHP获取input输入框中的值去数据库比较显示出来
2016/11/16 PHP
经典的解除许多网站无法复制文字的绝招
2006/12/31 Javascript
JQUERY获取form表单值的代码
2010/07/17 Javascript
JavaScript 高级篇之函数 (四)
2012/04/07 Javascript
JavaScript 高级篇之DOM文档,简单封装及调用、动态添加、删除样式(六)
2012/04/07 Javascript
调试Javascript代码(浏览器F12及VS中debugger关键字)
2013/01/25 Javascript
jquery 追加tr和删除tr示例代码
2013/09/12 Javascript
JS和JQUERY获取页面大小,滚动条位置,元素位置(示例代码)
2013/12/14 Javascript
JS实现倒计时和文字滚动的效果实例
2014/10/29 Javascript
jQuery结合CSS制作漂亮的select下拉菜单
2015/05/03 Javascript
在JavaScript中处理字符串之link()方法的使用
2015/06/08 Javascript
js中跨域方法原理详解
2015/07/19 Javascript
Bootstrap基本插件学习笔记之标签切换(17)
2016/12/08 Javascript
基于javascript的Form表单验证
2016/12/29 Javascript
node使用promise替代回调函数
2018/05/07 Javascript
详解Python发送email的三种方式
2018/10/18 Python
Pytorch之finetune使用详解
2020/01/18 Python
python爬虫数据保存到mongoDB的实例方法
2020/07/28 Python
CSS3 icon font完全指南(CSS3 font 会取代icon图标)
2013/01/06 HTML / CSS
详解CSS3中nth-child与nth-of-type的区别
2017/01/05 HTML / CSS
加拿大最大的体育用品、鞋类和服装零售商:Sport Chek
2018/11/29 全球购物
NFL加拿大官方网上商店:NHLShop.ca
2019/03/12 全球购物
对于没有初始化的变量的初始值可以作怎样的假定
2014/10/12 面试题
表演方阵解说词
2014/02/08 职场文书
小学语文国培感言
2014/03/04 职场文书
出纳员岗位职责
2014/03/13 职场文书
有创意的广告词
2014/03/18 职场文书
旅游与环境专业求职信
2014/06/05 职场文书
2014年客服工作总结与计划
2014/12/09 职场文书
驻村工作简报
2015/07/20 职场文书
2016大一新生入学教育心得体会
2016/01/23 职场文书