命名元組
命名元組的定義:
- 命名元組講到元類時會講
- 命名元組的好處在於可以直接通過它的名字訪問。(既可以實現字典的方式一樣訪問、又支持元組一樣的方式訪問,並且是元組有元組的特性)
例:如下元組,我如何見名知意
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