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控制台显示时钟的示例
Feb 24 Python
python实现简单购物商城
May 21 Python
Python中set与frozenset方法和区别详解
May 23 Python
python机器学习之决策树分类详解
Dec 20 Python
Python回文字符串及回文数字判定功能示例
Mar 20 Python
解决python写入带有中文的字符到文件错误的问题
Jan 31 Python
Django实现基于类的分页功能
Oct 31 Python
python数字类型math库原理解析
Mar 02 Python
如何将tensorflow训练好的模型移植到Android (MNIST手写数字识别)
Apr 22 Python
Python如何操作docker redis过程解析
Aug 10 Python
python 爬取吉首大学网站成绩单
Jun 02 Python
教你使用一行Python代码玩遍童年的小游戏
Aug 23 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
IStream与TStream之间的相互转换
2008/08/01 PHP
php中去除所有js,html,css代码
2010/10/12 PHP
zf框架的session会话周期及次数限制使用示例
2014/03/13 PHP
JavaScript中Object.prototype.toString方法的原理
2016/02/24 Javascript
js倒计时显示实例
2016/12/11 Javascript
微信小程序 登录实例详解
2017/01/16 Javascript
javascript基础练习之翻转字符串与回文
2017/02/20 Javascript
Node.js使用Express.Router的方法
2017/11/14 Javascript
微信小程序列表渲染功能之列表下拉刷新及上拉加载的实现方法分析
2017/11/27 Javascript
简单明了区分escape、encodeURI和encodeURIComponent
2018/05/26 Javascript
webpack4+express+mongodb+vue实现增删改查的示例
2018/11/08 Javascript
深入理解es6块级作用域的使用
2019/03/28 Javascript
vue项目中mock.js的使用及基本用法
2019/05/22 Javascript
vue通信方式EventBus的实现代码详解
2019/06/10 Javascript
[01:09:50]VP vs Pain 2018国际邀请赛小组赛BO2 第二场
2018/08/20 DOTA
Python做文本按行去重的实现方法
2016/10/19 Python
python字典快速保存于读取的方法
2018/03/23 Python
python爬取网页内容转换为PDF文件
2020/07/28 Python
python中csv文件的若干读写方法小结
2018/07/04 Python
Python中的Django基本命令实例详解
2018/07/15 Python
Python global全局变量函数详解
2018/09/18 Python
python批量处理txt文件的实例代码
2020/01/13 Python
openCV提取图像中的矩形区域
2020/07/21 Python
Python 中如何写注释
2020/08/28 Python
Python如何实现单例模式
2016/06/03 面试题
颁奖晚会主持词
2014/03/25 职场文书
抵押贷款承诺书
2014/05/30 职场文书
班风口号
2014/06/18 职场文书
个人安全生产责任书
2014/07/28 职场文书
讲文明知礼仪演讲稿
2014/09/13 职场文书
2015年售票员工作总结
2015/04/29 职场文书
学校食堂食品安全承诺书
2015/04/29 职场文书
幼儿园小朋友毕业感言
2015/07/30 职场文书
整理Python中常用的conda命令操作
2021/06/15 Python
vue如何实现关闭对话框后刷新列表
2022/04/08 Vue.js
vue3种table表格选项个数的控制方法
2022/04/14 Vue.js