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实现短网址ShortUrl的Hash运算实例讲解
Aug 10 Python
Python基础教程之tcp socket编程详解及简单实例
Feb 23 Python
Python3中条件控制、循环与函数的简易教程
Nov 21 Python
详细分析python3的reduce函数
Dec 05 Python
Python 记录日志的灵活性和可配置性介绍
Feb 27 Python
python+influxdb+shell编写区域网络状况表
Jul 27 Python
浅析python中的迭代与迭代对象
Oct 08 Python
Django logging配置及使用详解
Jul 23 Python
python3 反射的四种基本方法解析
Aug 26 Python
windows中安装Python3.8.0的实现方法
Nov 19 Python
浅析Python 条件控制语句
Jul 15 Python
python Protobuf定义消息类型知识点讲解
Mar 02 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获取当前时间的毫秒数的方法
2014/01/26 PHP
phplist及phpmailer(组合使用)通过gmail发送邮件的配置方法
2016/03/30 PHP
PHP中phar包的使用教程
2017/06/14 PHP
基于jquery的二级联动菜单实现代码
2011/04/25 Javascript
关于js类的定义
2011/06/28 Javascript
40个有创意的jQuery图片和内容滑动及弹出插件收藏集之二
2011/12/31 Javascript
面向对象的Javascript之二(接口实现介绍)
2012/01/27 Javascript
JS+CSS实现一个气泡提示框
2013/08/18 Javascript
jquery序列化方法实例分析
2015/06/10 Javascript
微信小程序 地图map详解及简单实例
2017/01/10 Javascript
Easy UI动态树点击文字实现展开关闭功能
2017/09/30 Javascript
Vue slot用法(小结)
2018/10/22 Javascript
JS设置自定义快捷键并实现图片上下左右移动
2019/10/17 Javascript
Vue实现手机计算器
2020/08/17 Javascript
Python实现的微信公众号群发图片与文本消息功能实例详解
2017/06/30 Python
使用python根据端口号关闭进程的方法
2018/11/06 Python
Python函数装饰器常见使用方法实例详解
2019/03/30 Python
Python变量、数据类型、数据类型转换相关函数用法实例详解
2020/01/09 Python
Python中常用的高阶函数实例详解
2020/02/21 Python
Django REST framwork的权限验证实例
2020/04/02 Python
Python自动登录QQ的实现示例
2020/08/28 Python
CSS3+Sprite实现僵尸行走动画特效源码
2016/01/27 HTML / CSS
HTML5之web workers_动力节点Java学院整理
2017/07/17 HTML / CSS
HTML5标签大全
2016/11/23 HTML / CSS
不同浏览器创建XMLHttpRequest方法有什么不同
2014/11/17 面试题
青年创业培训欢迎词
2014/01/08 职场文书
初中音乐教学反思
2014/01/12 职场文书
新领导上任欢迎词
2014/01/13 职场文书
优秀干部获奖感言
2014/01/31 职场文书
中华美德颂演讲稿
2014/05/20 职场文书
科学发展观活动总结
2014/08/28 职场文书
大学生村官个人对照检查材料(群众路线)
2014/09/26 职场文书
2014年党务公开工作总结
2014/12/09 职场文书
python库sklearn常用操作
2021/08/23 Python
聊聊Lombok中的@Builder注解使用教程
2021/11/17 Java/Android
教你如何让spark sql写mysql的时候支持update操作
2022/02/15 MySQL