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 相关文章推荐
Python开发实例分享bt种子爬虫程序和种子解析
May 21 Python
Python查找函数f(x)=0根的解决方法
May 07 Python
详解Django中的ifequal和ifnotequal标签使用
Jul 16 Python
Python的组合模式与责任链模式编程示例
Feb 02 Python
Python安装官方whl包和tar.gz包的方法(推荐)
Jun 04 Python
python实现协同过滤推荐算法完整代码示例
Dec 15 Python
python tornado微信开发入门代码
Aug 24 Python
pycharm使用matplotlib.pyplot不显示图形的解决方法
Oct 28 Python
Python多版本开发环境管理工具介绍
Jul 03 Python
PIL图像处理模块paste方法简单使用详解
Jul 17 Python
Python实现线性插值和三次样条插值的示例代码
Nov 13 Python
python add_argument()用法解析
Jan 29 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
层叠菜单的动态生成
2006/10/09 PHP
php中is_null,empty,isset,unset 的区别详细介绍
2013/04/28 PHP
destoon后台网站设置变成空白的解决方法
2014/06/21 PHP
php使用Header函数,PHP_AUTH_PW和PHP_AUTH_USER做用户验证
2016/05/04 PHP
PHP 的比较运算与逻辑运算详解
2016/05/12 PHP
Jquery Ajax学习实例3 向WebService发出请求,调用方法返回数据
2010/03/16 Javascript
基于jquery实现图片广告轮换效果代码
2011/07/07 Javascript
JavaScript闭包 懂不懂由你反正我是懂了
2011/10/21 Javascript
jQuery插件JWPlayer视频播放器用法实例分析
2017/01/11 Javascript
Jquery uploadify 多余的Get请求(404错误)的解决方法
2017/01/26 Javascript
Javacript中自定义的map.js  的方法
2017/11/26 Javascript
webpack的pitching loader详解
2019/09/23 Javascript
微信小程序开发(三):返回上一级页面并刷新操作示例【页面栈】
2020/06/01 Javascript
jQuery+ThinkPHP实现图片上传
2020/07/23 jQuery
[01:03:56]Mineski vs TNC 2018国际邀请赛淘汰赛BO1 8.21
2018/08/22 DOTA
python发送邮件接收邮件示例分享
2014/01/21 Python
Python StringIO模块实现在内存缓冲区中读写数据
2015/04/08 Python
Python中的hypot()方法使用简介
2015/05/18 Python
scikit-learn线性回归,多元回归,多项式回归的实现
2019/08/29 Python
详解python中eval函数的作用
2019/10/22 Python
如何在django中实现分页功能
2020/04/22 Python
matplotlib交互式数据光标实现(mplcursors)
2021/01/13 Python
Python 带星号(* 或 **)的函数参数详解
2021/02/23 Python
HTML5中判断用户是否正在浏览页面的方法
2014/05/03 HTML / CSS
移动端Html5中百度地图的点击事件
2019/01/31 HTML / CSS
布鲁明戴尔百货店:Bloomingdale’s
2016/12/21 全球购物
与世界上最好的跑步专业品牌合作:Fleet Feet
2019/03/22 全球购物
ECCO英国官网:丹麦鞋履品牌
2019/09/03 全球购物
详解如何解决使用JSON.stringify时遇到的循环引用问题
2021/03/23 Javascript
物业招聘计划书
2014/01/10 职场文书
乡镇党员干部群众路线对照检查材料思想汇报
2014/09/28 职场文书
邓小平文选读书笔记
2015/06/29 职场文书
SpringBoot实现异步事件驱动的方法
2021/06/28 Java/Android
Python实现日志实时监测的示例详解
2022/04/06 Python
MySql数据库触发器使用教程
2022/06/01 MySQL
永中文档在线转换预览基于nginx配置部署方案
2022/06/10 Servers