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

yipeiwu_com5年前Python基础

这篇文章主要介绍了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和pygame及相应的环境变量配置(图文教程)

安装Python和pygame及相应的环境变量配置(图文教程)

Hello,Everyone! Python是个好东西!好吧,以黎某人这寒碜的赞美之词,实在上不了台面,望见谅。那我们直接来上干货吧。 第一步:下载Python安装包https://ww...

Python内置方法实现字符串的秘钥加解密(推荐)

Python内置方法实现字符串的秘钥加解密(推荐)

在实际编程开发中,我们会使用到各类的加密算法来对数据和信息进行加密。比如密码中比较常见的MD5加密,以及AES加密等等。 对于密码认证来说,MD5加密是比较适合的,因为其不需要接触到明文...

Python下singleton模式的实现方法

很多开发人员在刚开始学Python 时,都考虑过像 c++ 那样来实现 singleton 模式,但后来会发现 c++ 是 c++,Python 是 Python,不能简单的进行模仿。...

python操作字典类型的常用方法(推荐)

has_key()方法可以检查字典中是否含有指定的键,如果有则返回True,否则就返回False。 语法格式: dictionary_name.has_key(key) dict...

Python实现程序的单一实例用法分析

本文实例讲述了Python实现程序的单一实例用法。分享给大家供大家参考。具体如下: 这里先使用win32ui.FindWindow查找窗口名字,如果不存在则会抛出一个异常 impor...