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网络编程学习笔记(七):HTML和XHTML解析(HTMLParser、BeautifulSoup)
Jun 09 Python
Python获取文件ssdeep值的方法
Oct 05 Python
Python定时执行之Timer用法示例
May 27 Python
举例区分Python中的浅复制与深复制
Jul 02 Python
Python自动化测试ConfigParser模块读写配置文件
Aug 15 Python
Python使用剪切板的方法
Jun 06 Python
Django 中使用流响应处理视频的方法
Jul 20 Python
Python判断两个文件是否相同与两个文本进行相同项筛选的方法
Mar 01 Python
Django rest framework jwt的使用方法详解
Aug 08 Python
Python中 CSV格式清洗与转换的实例代码
Aug 29 Python
PyCharm MySQL可视化Database配置过程图解
Jun 09 Python
python将图片转为矢量图的方法步骤
Mar 30 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实现图象锐化代码
2007/06/14 PHP
一些php项目中比较通用的php自建函数的详解
2013/06/06 PHP
PHP中的魔术方法总结和使用实例
2015/05/11 PHP
PHP实现二叉树深度优先遍历(前序、中序、后序)和广度优先遍历(层次)实例详解
2018/04/20 PHP
PHP 8新特性简介
2020/08/18 PHP
JavaScript 异步调用框架 (Part 4 - 链式调用)
2009/08/04 Javascript
js/jQuery对象互转(快速操作dom元素)
2013/02/04 Javascript
jquery中交替点击事件的实现代码
2014/02/14 Javascript
JavaScript中的ArrayBuffer详细介绍
2014/12/08 Javascript
JS实现仿新浪微博发布内容为空时提示功能代码
2015/08/19 Javascript
jQuery获取字符串中出现最多的数
2016/02/22 Javascript
ES6的新特性概览
2016/03/10 Javascript
JS实现控制文本框的内容
2016/07/10 Javascript
JS实现的驼峰式和连字符式转换功能分析
2016/12/21 Javascript
vue音乐播放器插件vue-aplayer的配置及其使用实例详解
2017/07/10 Javascript
vue2.0设置proxyTable使用axios进行跨域请求的方法
2017/10/19 Javascript
微信小程序之分享页面如何返回首页的示例
2018/03/28 Javascript
JavaScript实现简单的弹窗效果
2020/05/19 Javascript
[01:37]TI4西雅图DOTA2前线报道 VG拿下首胜教练357给出获胜秘诀
2014/07/10 DOTA
Python验证码识别处理实例
2015/12/28 Python
深入理解 Python 中的多线程 新手必看
2016/11/20 Python
python实现壁纸批量下载代码实例
2018/01/25 Python
python计算日期之间的放假日期
2018/06/05 Python
用Python实现数据的透视表的方法
2018/11/16 Python
python获取微信小程序手机号并绑定遇到的坑
2018/11/19 Python
python 产生token及token验证的方法
2018/12/26 Python
python Matplotlib基础--如何添加文本和标注
2021/01/26 Python
凯蒂·佩里个人女鞋品牌:Katy Perry Collections
2019/04/04 全球购物
初三化学教学反思
2014/01/23 职场文书
森林病虫害防治方案
2014/06/02 职场文书
小学教师培训方案
2014/06/09 职场文书
企业宗旨标语
2014/06/10 职场文书
2014年卫生工作总结
2014/11/27 职场文书
旗帜观后感
2015/06/08 职场文书
初中英语教学反思范文
2016/02/15 职场文书
SpringBoot2零基础到精通之数据与页面响应
2022/03/22 Java/Android