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的ORM框架中的SQLAlchemy库的映射关系
Apr 25 Python
简单易懂的python环境安装教程
Jul 13 Python
python如何将图片转换为字符图片
Aug 19 Python
Python 获取主机ip与hostname的方法
Dec 17 Python
Python Django框架单元测试之文件上传测试示例
May 17 Python
python实现广度优先搜索过程解析
Oct 19 Python
Python 解码Base64 得到码流格式文本实例
Jan 09 Python
Python threading模块condition原理及运行流程详解
Oct 05 Python
python 制作网站筛选工具(附源码)
Jan 21 Python
一文搞懂如何实现Go 超时控制
Mar 30 Python
如何利用Python实现n*n螺旋矩阵
Jan 18 Python
python自动获取微信公众号最新文章的实现代码
Jul 15 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
Windows IIS PHP 5.2 安装与配置方法
2009/06/08 PHP
PHP编码转换函数 自动转换字符集支持数组转换
2012/12/16 PHP
PHP实现变色验证码实例
2014/01/06 PHP
PHP严重致命错误处理:php Fatal error: Cannot redeclare class or function
2017/02/05 PHP
深入解析Laravel5.5中的包自动发现Package Auto Discovery
2017/09/13 PHP
laravel 执行迁移回滚示例
2019/10/23 PHP
thinkphp框架类库扩展操作示例
2019/11/26 PHP
Javascript面向对象编程(三) 非构造函数的继承
2011/08/28 Javascript
Jquery中offset()和position()的区别分析
2015/02/05 Javascript
利用vue写todolist单页应用
2016/12/15 Javascript
配置nodejs环境的方法
2017/05/13 NodeJs
运用jQuery写的验证表单(实例讲解)
2017/07/06 jQuery
vue内置组件transition简单原理图文详解(小结)
2018/07/12 Javascript
Intellij IDEA搭建vue-cli项目的方法步骤
2018/10/20 Javascript
jquery实现有过渡效果的tab切换
2020/07/17 jQuery
王纯业的Python学习笔记 下载
2007/02/10 Python
Python基于QRCode实现生成二维码的方法【下载,安装,调用等】
2017/07/11 Python
Python实现判断字符串中包含某个字符的判断函数示例
2018/01/08 Python
Python基于生成器迭代实现的八皇后问题示例
2018/05/23 Python
Windows下python3.7安装教程
2018/07/31 Python
Python产生Gnuplot绘图数据的方法
2018/11/09 Python
安装好Pycharm后如何配置Python解释器简易教程
2019/06/28 Python
python join方法使用详解
2019/07/30 Python
python GUI库图形界面开发之PyQt5单选按钮控件QRadioButton详细使用方法与实例
2020/02/28 Python
Python Celery异步任务队列使用方法解析
2020/08/10 Python
Anaconda的安装与虚拟环境建立
2020/11/18 Python
为您搜罗全球潮流時尚品牌:HBX
2019/12/04 全球购物
Tommy Hilfiger澳洲官网:美国高端休闲领导品牌
2020/12/16 全球购物
银行实习自我鉴定
2013/10/12 职场文书
实习指导老师评语
2014/04/26 职场文书
副职竞争上岗演讲稿
2014/05/12 职场文书
2014年社区党建工作总结
2014/11/11 职场文书
聘用合同范本
2015/09/21 职场文书
教你如何用python开发一款数字推盘小游戏
2021/04/14 Python
Python实现查询剪贴板自动匹配信息的思路详解
2021/07/09 Python
Windows和Linux上部署Golang并运行程序
2022/04/22 Servers