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通过wxPython打开一个音频文件并播放的方法
Mar 25 Python
使用Python对Csv文件操作实例代码
May 12 Python
Python编程之微信推送模板消息功能示例
Aug 21 Python
Scrapy-Redis结合POST请求获取数据的方法示例
May 07 Python
python对常见数据类型的遍历解析
Aug 27 Python
Python提取PDF内容的方法(文本、图像、线条等)
Sep 25 Python
Python 装饰器@,对函数进行功能扩展操作示例【开闭原则】
Oct 17 Python
服务器端jupyter notebook映射到本地浏览器的操作
Apr 14 Python
Python爬取数据并实现可视化代码解析
Aug 12 Python
Python+OpenCV检测灯光亮点的实现方法
Nov 02 Python
python 递归相关知识总结
Mar 03 Python
tensorboard 可视化之localhost:6006不显示的解决方案
May 22 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数组 为文章加关键字连接 文章内容自动加链接
2011/12/29 PHP
php采集文章中的图片获取替换到本地(实现代码)
2013/07/08 PHP
PHP准确取得服务器IP地址的方法
2015/06/02 PHP
PHP 下载文件时如何自动添加bom头及解释BOM头和去掉bom头的方法
2016/01/04 PHP
PHP实现搜索地理位置及计算两点地理位置间距离的实例
2016/01/08 PHP
什么是OneThink oneThink后台添加插件步骤
2016/04/13 PHP
yii 框架实现按天,月,年,自定义时间段统计数据的方法分析
2020/04/04 PHP
javascript不同页面传值的改进版
2008/09/30 Javascript
js导出excel文件的简洁方法(推荐)
2016/11/02 Javascript
vue+axios+mock.js环境搭建的方法步骤
2018/08/28 Javascript
react-navigation之动态修改title的内容
2018/09/26 Javascript
微信小程序使用swiper组件实现层叠轮播图
2018/11/04 Javascript
使用RxJS更优雅地进行定时请求详析
2019/06/02 Javascript
js动态获取时间的方法分析
2019/08/02 Javascript
npx create-react-app xxx创建项目报错的解决办法
2020/02/17 Javascript
vue开发移动端底部导航条功能
2020/04/08 Javascript
Python实现的ini文件操作类分享
2014/11/20 Python
Python编程中字符串和列表的基本知识讲解
2015/10/14 Python
Python字符串拼接、截取及替换方法总结分析
2016/04/13 Python
Python 常用 PEP8 编码规范详解
2017/01/22 Python
python实现K最近邻算法
2018/01/29 Python
基于numpy中数组元素的切片复制方法
2018/11/15 Python
python实现控制电脑鼠标和键盘,登录QQ的方法示例
2019/07/06 Python
django 配置阿里云OSS存储media文件的例子
2019/08/20 Python
Python基于当前时间批量创建文件
2020/05/07 Python
使用keras2.0 将Merge层改为函数式
2020/05/23 Python
阿里云:Aliyun.com
2017/02/15 全球购物
Airbnb爱彼迎官网:成为爱彼迎房东,赚取收入
2019/03/14 全球购物
文字自荐书范文
2014/02/10 职场文书
出纳员岗位责任制
2014/02/11 职场文书
2014年中班元旦活动方案
2014/02/14 职场文书
搞笑车尾标语
2014/06/23 职场文书
故意伤害辩护词
2015/05/21 职场文书
教你漂亮打印Pandas DataFrames和Series
2021/05/29 Python
Pyhton爬虫知识之正则表达式详解
2022/04/01 Python
Linux中sftp常用命令整理
2022/06/28 Servers