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写的一个wordpress的采集程序
Feb 27 Python
Python创建对称矩阵的方法示例【基于numpy模块】
Oct 12 Python
详解Django解决ajax跨域访问问题
Aug 24 Python
使用PM2+nginx部署python项目的方法示例
Nov 07 Python
浅析python3字符串格式化format()函数的简单用法
Dec 07 Python
PyQt5实现从主窗口打开子窗口的方法
Jun 19 Python
这可能是最好玩的python GUI入门实例(推荐)
Jul 19 Python
Django 权限认证(根据不同的用户,设置不同的显示和访问权限)
Jul 24 Python
tensorflow求导和梯度计算实例
Jan 23 Python
python有序查找算法 二分法实例解析
Feb 18 Python
基于Keras 循环训练模型跑数据时内存泄漏的解决方式
Jun 11 Python
Scrapy框架介绍之Puppeteer渲染的使用
Jun 19 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
MySQL GBK→UTF-8编码转换
2007/05/24 PHP
PHP 变量的定义方法
2010/01/26 PHP
PHP中header和session_start前不能有输出原因分析
2013/01/11 PHP
PHP实现数组array转换成xml的方法
2016/07/19 PHP
Yii2设置默认控制器的两种方法
2017/05/19 PHP
PHP mysqli事务操作常用方法分析
2017/07/22 PHP
ThinkPHP框架实现的微信支付接口开发完整示例
2019/04/10 PHP
php实现图片压缩处理
2020/09/09 PHP
javascript正则表达式中参数g(全局)的作用
2010/11/11 Javascript
原生JavaScript编写俄罗斯方块
2015/03/30 Javascript
jQuery ajax全局函数处理session过期后的ajax跳转问题
2016/06/03 Javascript
Bootstrap登陆注册页面开发教程
2016/07/12 Javascript
vue单页应用中如何使用jquery的方法示例
2017/07/27 jQuery
jquery实现拖拽小方块效果
2020/12/10 jQuery
node使用async_hooks模块进行请求追踪
2021/01/28 Javascript
python学习笔记:字典的使用示例详解
2014/06/13 Python
django上传图片并生成缩略图方法示例
2017/12/11 Python
Python常见内置高效率函数用法示例
2018/07/31 Python
对Python 两大环境管理神器 pyenv 和 virtualenv详解
2018/12/31 Python
python实现字符串和数字拼接
2020/03/02 Python
Spring Boot中使用IntelliJ IDEA插件EasyCode一键生成代码详细方法
2020/03/20 Python
Python3.7将普通图片(png)转换为SVG图片格式(网站logo图标)动起来
2020/04/21 Python
python判断元素是否存在的实例方法
2020/09/24 Python
解析HTML5的存储功能和web SQL的相关操作方法
2016/02/19 HTML / CSS
做一个能自适应高度的textarea的示例代码
2019/09/06 HTML / CSS
FILA德国官方网站:来自意大利的体育和街头服饰品牌
2019/07/19 全球购物
某公司C#程序员面试题笔试题
2014/05/26 面试题
中专生的个人自我评价
2013/12/11 职场文书
学校安全工作汇报材料
2014/08/16 职场文书
中职三好学生事迹材料
2014/08/24 职场文书
党的群众路线教育实践活动个人对照检查材料(企业)
2014/11/05 职场文书
解决Python中的modf()函数取小数部分不准确问题
2021/05/28 Python
教你怎么用Python实现GIF动图的提取及合成
2021/06/15 Python
python 使用tkinter与messagebox写界面和弹窗
2022/03/20 Python
Windows server 2012 R2 安装IIS服务器
2022/04/29 Servers
从原生JavaScript到React深入理解
2022/07/23 Javascript