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 logging模块学习笔记
May 24 Python
Python实现检测服务器是否可以ping通的2种方法
Jan 01 Python
Python使用cx_Oracle模块将oracle中数据导出到csv文件的方法
May 16 Python
Python3实现的旋转矩阵图像算法示例
Apr 03 Python
python  文件的基本操作 菜中菜功能的实例代码
Jul 17 Python
解决python gdal投影坐标系转换的问题
Jan 17 Python
使用PyTorch实现MNIST手写体识别代码
Jan 18 Python
Python中的 ansible 动态Inventory 脚本
Jan 19 Python
python 函数中的参数类型
Feb 11 Python
keras slice layer 层实现方式
Jun 11 Python
使用Python提取文本中含有特定字符串的方法示例
Dec 09 Python
Python基础之教你怎么在M1系统上使用pandas
May 08 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
如何在smarty中增加类似foreach的功能自动加载数据
2013/06/26 PHP
php的curl封装类用法实例
2014/11/07 PHP
PHP易混淆函数的区别及用法汇总
2014/11/22 PHP
两种php实现图片上传的方法
2016/01/22 PHP
php反射学习之依赖注入示例
2019/06/14 PHP
jQuery asp.net 用json格式返回自定义对象
2010/04/07 Javascript
jQuery 三击事件实现代码
2013/09/11 Javascript
jquery form 加载数据示例
2014/04/21 Javascript
浅谈jquery回调函数callback的使用
2015/01/30 Javascript
基于Node.js的强大爬虫 能直接发布抓取的文章哦
2016/01/10 Javascript
郁闷!ionic中获取ng-model绑定的值为undefined如何解决
2016/08/27 Javascript
Bootstrap CDN和本地化环境搭建
2016/10/26 Javascript
利用ES6语法重构React组件详解
2017/03/02 Javascript
vue高德地图之玩转周边
2017/06/16 Javascript
webpack配置sass模块的加载的方法
2017/07/30 Javascript
vue中使用codemirror的实例详解
2018/11/01 Javascript
js中的闭包实例展示
2018/11/01 Javascript
如何优雅地取消 JavaScript 异步任务
2020/03/22 Javascript
微信小程序 flexbox layout快速实现基本布局的解决方案
2020/03/24 Javascript
sharp.js安装过程中遇到的问题总结
2020/04/02 Javascript
用js实现放大镜效果
2020/10/28 Javascript
Element-ui 自带的两种远程搜索(模糊查询)用法讲解
2021/01/29 Javascript
Python下使用Scrapy爬取网页内容的实例
2018/05/21 Python
Python分割指定页数的pdf文件方法
2018/10/26 Python
pytorch索引查找 index_select的例子
2019/08/18 Python
keras 多任务多loss实例
2020/06/22 Python
html5开发三八女王节表白神器
2018/03/07 HTML / CSS
伦敦的高级牛仔布专家:Trilogy
2018/08/06 全球购物
彪马法国官网:PUMA法国
2019/12/15 全球购物
美国体育用品商店:Academy Sports + Outdoors
2020/01/04 全球购物
童装店创业计划书
2014/01/09 职场文书
科级干部考察材料
2014/02/15 职场文书
《雕塑之美》教学反思
2014/04/24 职场文书
物联网工程专业推荐信
2014/09/08 职场文书
行政文员实习自我鉴定范文
2014/09/14 职场文书
幼儿园开学通知
2015/04/24 职场文书