最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

簡單講解Python編程中namedtuple類的用法

 更新時間:2016年06月21日 15:36:13   作者:TypingQuietly  
namedtuple類位域Collections模塊中,有了namedtuple后通過屬性訪問數(shù)據(jù)能夠讓我們的代碼更加的直觀更好維護,下面就來簡單講解Python編程中namedtuple類的用法

Python的Collections模塊提供了不少好用的數(shù)據(jù)容器類型,其中一個精品當屬namedtuple。

namedtuple能夠用來創(chuàng)建類似于元祖的數(shù)據(jù)類型,除了能夠用索引來訪問數(shù)據(jù),能夠迭代,更能夠方便的通過屬性名來訪問數(shù)據(jù)。

在python中,傳統(tǒng)的tuple類似于數(shù)組,只能通過下標來訪問各個元素,我們還需要注釋每個下標代表什么數(shù)據(jù)。通過使用namedtuple,每個元素有了自己的名字,類似于C語言中的struct,這樣數(shù)據(jù)的意義就可以一目了然了。當然,聲明namedtuple是非常簡單方便的。
代碼示例如下:

from collections import namedtuple
 
Friend=namedtuple("Friend",['name','age','email'])
 
f1=Friend('xiaowang',33,'xiaowang@163.com')
print(f1)
print(f1.age)
print(f1.email)
f2=Friend(name='xiaozhang',email='xiaozhang@sina.com',age=30)
print(f2)
 
name,age,email=f2
print(name,age,email)

類似于tuple,它的屬性也是不可變的:

>>> big_yellow.age += 1
Traceback (most recent call last):
 File "<stdin>", line 1, in <module>
AttributeError: can't set attribute

能夠方便的轉(zhuǎn)換成OrderedDict:

>>> big_yellow._asdict()
OrderedDict([('name', 'big_yellow'), ('age', 3), ('type', 'dog')])

方法返回多個值得時候,其實更好的是返回namedtuple的結(jié)果,這樣程序的邏輯會更加的清晰和好維護:

>>> from collections import namedtuple
>>> def get_name():
...   name = namedtuple("name", ["first", "middle", "last"])
...   return name("John", "You know nothing", "Snow")
...
>>> name = get_name()
>>> print name.first, name.middle, name.last
John You know nothing Snow

相比tuple,dictionary,namedtuple略微有點綜合體的意味:直觀、使用方便,墻裂建議大家在合適的時候多用用namedtuple。

相關(guān)文章

  • python網(wǎng)絡(luò)編程學(xué)習筆記(三):socket網(wǎng)絡(luò)服務(wù)器

    python網(wǎng)絡(luò)編程學(xué)習筆記(三):socket網(wǎng)絡(luò)服務(wù)器

    服務(wù)器和客戶端程序很類似,上節(jié)學(xué)習了客戶端程序,這一節(jié)將仔細學(xué)習一下利用socket建立TCP服務(wù)器和UDP服務(wù)器
    2014-06-06
  • python總結(jié)之閉包和裝飾器

    python總結(jié)之閉包和裝飾器

    這篇文章主要為大家介紹了python閉包和裝飾器,具有一定的參考價值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助
    2021-12-12
  • pycharm中:OSError:[WinError?1455]頁面文件太小無法完成操作問題的多種解決方法

    pycharm中:OSError:[WinError?1455]頁面文件太小無法完成操作問題的多種解決方法

    這篇文章主要給大家介紹了關(guān)于pycharm中:OSError:[WinError?1455]頁面文件太小無法完成操作問題的多種徹底解決方法,文中通過圖文介紹的非常詳細,對大家的學(xué)習或者工作具有一定的參考學(xué)習價值,需要的朋友可以參考下
    2023-02-02
  • 詳解一種用django_cache實現(xiàn)分布式鎖的方式

    詳解一種用django_cache實現(xiàn)分布式鎖的方式

    這篇文章主要介紹了詳解一種用django_cache實現(xiàn)分布式鎖的方式,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習或者工作具有一定的參考學(xué)習價值,需要的朋友們下面隨著小編來一起學(xué)習學(xué)習吧
    2019-09-09
  • python使用Word2Vec進行情感分析解析

    python使用Word2Vec進行情感分析解析

    這篇文章主要介紹了python使用Word2Vec進行情感分析解析,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習或者工作具有一定的參考學(xué)習價值,需要的朋友們下面隨著小編來一起學(xué)習學(xué)習吧
    2020-07-07
  • python單星號(*)與雙星號(**)使用示例demo

    python單星號(*)與雙星號(**)使用示例demo

    這篇文章詳細介紹了Python中*與**操作符的使用場景及注意事項,并通過示例代碼展示了它們在函數(shù)形參和實參、序列解包以及函數(shù)參數(shù)順序中的應(yīng)用,需要的朋友可以參考下
    2024-12-12
  • 詳解python數(shù)據(jù)結(jié)構(gòu)之隊列Queue

    詳解python數(shù)據(jù)結(jié)構(gòu)之隊列Queue

    這篇文章主要介紹了python數(shù)據(jù)結(jié)構(gòu)之隊列Queue,文中有非常詳細的代碼示例,對正在學(xué)習python的小伙伴們有很好的幫助,需要的朋友可以參考下
    2021-05-05
  • 詳解Pytorch顯存動態(tài)分配規(guī)律探索

    詳解Pytorch顯存動態(tài)分配規(guī)律探索

    這篇文章主要介紹了Pytorch顯存動態(tài)分配規(guī)律探索,本文給大家介紹的非常詳細,對大家的學(xué)習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-11-11
  • Windows64x下VScode下載過程

    Windows64x下VScode下載過程

    這篇文章主要介紹了Windows64x下VScode下載,本文通過圖文并茂的形式給大家介紹的非常詳細,對大家的學(xué)習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-09-09
  • 還不知道Anaconda是什么?讀這一篇文章就夠了

    還不知道Anaconda是什么?讀這一篇文章就夠了

    Anaconda指的是一個開源的Python發(fā)行版本,其包含了Conda、Python等180多個科學(xué)包及其依賴項,下面這篇文章主要給大家介紹了關(guān)于Anaconda是什么的相關(guān)資料,需要的朋友可以參考下
    2023-02-02

最新評論

洛隆县| 庄河市| 芒康县| 维西| 搜索| 蓬莱市| 三门县| 即墨市| 安远县| 阳城县| 汪清县| 临沂市| 始兴县| 松潘县| 宣汉县| 类乌齐县| 井陉县| 宝应县| 西青区| 门头沟区| 策勒县| 平凉市| 韩城市| 宜宾市| 东明县| 青龙| 鲁甸县| 筠连县| 新平| 太湖县| 博爱县| 绥德县| 阿荣旗| 民勤县| 特克斯县| 麻栗坡县| 嘉祥县| 香港 | 吉安县| 沽源县| 敖汉旗|