python 命名元组_python 高级进阶——命名元组

  • Post author:
  • Post category:python


原标题:python 高级进阶——命名元组

那么什么是命名元组呢,要解释什么是命名元组时我觉得很有必要说明下为什么我们需要它以及它可以提供什么功能,那就自然明白什么是命名元组了。

我们知道在一些编程语言里,都有struct结构体这类数据类型,当我们对结构体对象进行赋值或者取值的时候可以直接使用**”.”**运算符来操作。

但是Python里是否也可以用自带的数据类型做到这样的效果呢?

在回答这个问题之前,我想先用一个例子再说的更清楚一些, 假设我有一堆庞大的多类型数据,为了节省空间我使用元组来进行保存,但是要知道数据一旦保存为元组后,访问其中的内容只能通过下标索引的方式去访问,数据一旦多了通过记住每个下标那就会显得相当困难,到底是第[3]下标还是第[9]下标呢,于是**命名元组 (named tuple)就出现了,通过命名元组我们就可以直接使用”.”**运算符跟上对应的属性名获得对应的内容。

———————————————————————————————

上面大概介绍了一下我们为什么要使用命名元祖,那么接下来我们来实际操作使用一下,怎么使用命名元祖

我们假设有一个元祖:

s=(“jack”,22,”male”,”23927@qq.com”)

我们通常取里面的值都是通过下标来取如s[0]取出来的就是jack 这个值,那么我们可不可以通过命名的方式来取,接下来我会给大家分享两个方法来取

方法一:

比较low也是通过类似于下标的方法

# s=(“jack”,22,”male”,”23927@qq.com”)

# name = 0

# age = 1

# sex = 2

# email = 3

# print(s[name])

# 输出结果为jack

方法二:

第二种方法要比第一种好很多,也是我个人比较推荐的方法,我们通过namedtuple方法来命名元祖

#方法二 :命名元组(利用collections模块中的namedtuple函数)

print(s.name)

#输出结果同样为多动多得返回搜狐,查看更多

责任编辑: