05-02命名元组

命名元组

命名元组的定义:

  • 命名元组讲到元类时会讲
  • 命名元组的好处在于可以直接通过它的名字访问。(既可以实现字典的方式一样访问、又支持元组一样的方式访问,并且是元组有元组的特性)

例:如下元组,我如何见名知意

In [14]: t = ('comyn', 18)

In [15]: t
Out[15]: ('comyn', 18)

In [16]: t[0]
Out[16]: 'comyn'

In [17]: t[1]
Out[17]: 18

上述例子,如果取值需要记忆特定的顺序, 非常麻烦, 那么就出现了根据名称查找对应的值

例:命名元组

In [18]: from collections import namedtuple

In [19]: User = namedtuple('User',['name','age'])    # 定义字段

In [20]: me = User('comyn', 18)

In [21]: me
Out[21]: User(name='comyn', age=18)

In [22]: me.name   
Out[22]: 'comyn'

In [23]: me.age
Out[23]: 18

In [24]: me[0]    # 同时也支持元组的特性
Out[24]: 'comyn'

In [25]: me[1]
Out[25]: 18

In [26]: me.index('age')
---------------------------------------------------------------------------
ValueError                                Traceback (most recent call last)
<ipython-input-26-f570ac78abe0> in <module>()
----> 1 me.index('age')

ValueError: tuple.index(x): x not in tuple

In [27]: me.count('comyn')  # 同时也支持元组的特性
Out[27]: 1

In [28]: me.index(18)   # 同时也支持元组的特性
Out[28]: 1
原文地址:https://www.cnblogs.com/cishi/p/12961599.html