Python namedtuple命名元组实现过程解析

 更新时间:2020年01月08日 10:56:24   作者:MilesMa  
这篇文章主要介绍了Python namedtuple命名元组实现过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

这篇文章主要介绍了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对MySQL数据操作

    使用Python对MySQL数据操作

    本文介绍Python3使用PyMySQL连接数据库,并实现简单的增删改查。具有很好的参考价值。下面跟着小编一起来看下吧
    2017-04-04
  • 详解Django ORM引发的数据库N+1性能问题

    详解Django ORM引发的数据库N+1性能问题

    这篇文章主要介绍了详解Django ORM引发的数据库N+1性能问题,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-10-10
  • 如何用Python绘制棒棒糖图表

    如何用Python绘制棒棒糖图表

    这篇文章主要介绍了如何用Python绘制棒棒糖图表,帮助大家更好的理解和学习使用python,感兴趣的朋友可以了解下
    2021-05-05
  • 初学Python实用技巧两则

    初学Python实用技巧两则

    这篇文章主要介绍了初学Python实用技巧两则,包括可变参数的应用级execfile函数的用法,需要的朋友可以参考下
    2014-08-08
  • NumPy中掩码数组的操作

    NumPy中掩码数组的操作

    本文主要介绍了NumPy中掩码数组的操作,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-03-03
  • 详解python中自定义超时异常的几种方法

    详解python中自定义超时异常的几种方法

    这篇文章主要介绍了详解python中自定义超时异常的几种方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-07-07
  • Python3.6使用tesseract-ocr的正确方法

    Python3.6使用tesseract-ocr的正确方法

    今天小编就为大家分享一篇关于Python3.6使用tesseract-ocr的正确方法,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2018-10-10
  • Python中人脸图像特征提取方法(HOG、Dlib、CNN)简述

    Python中人脸图像特征提取方法(HOG、Dlib、CNN)简述

    这篇文章主要介绍了Python中人脸图像特征提取方法(HOG、Dlib、CNN)简述,需要的朋友可以参考下
    2021-08-08
  • Numpy中np.dot与np.matmul的区别详解

    Numpy中np.dot与np.matmul的区别详解

    本文主要介绍了Numpy中np.dot与np.matmul的区别详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-02-02
  • 好用的Python编辑器WingIDE的使用经验总结

    好用的Python编辑器WingIDE的使用经验总结

    WingIDE是个专为python程序语言设计的集成开发环境。从1999年起,Wingware公司便开始专注于python开发,目前WingIDE已经是著名的python开发框架,面向项目风格的 IDE 对于大型产品非常有用, 是个很有前途的开发环境。
    2016-08-08

最新评论