python定義具名元組實(shí)例操作
1、定義具名元組需要2個(gè)參數(shù),第1個(gè)參數(shù)是類名,第2個(gè)參數(shù)是字段名,既可以是可迭代對(duì)象(如列表和元組),也可以是空格間隔的字符串:
Card = collections.namedtuple('Card', ('rank', 'suit'))Card = collections.namedtuple('Card', 'rank suit')
2、初始化時(shí)以一串參數(shù)形式傳入構(gòu)造函數(shù):
card_test = Card('J', 'hearts')
3、既可以通過.運(yùn)算符,也可以用索引來取值:
print(card_test.rank)print(card_test[1])
知識(shí)點(diǎn)擴(kuò)展:
具名元組的定義
Python標(biāo)準(zhǔn)庫collections中定義了具名元組(namedtuple)工廠函數(shù),它可以構(gòu)建帶字段名的元組。
工廠函數(shù)參數(shù)詳解
變量名 = namedtuple(typename, field_names, *, rename=False, defaults=None, module=None)
namedtuple工廠函數(shù)的參數(shù)詳解:
typename:定義具名元組的名稱,字符串型。
field_names:定義具名元組的字段名。該參數(shù)可以使用2種格式:
內(nèi)部元素都是字符串的列表或元組;例如[’商品’,’單價(jià)’,’數(shù)量’]或(’商品’,’單價(jià)’,’數(shù)量’)
以英文逗號(hào)’,’分隔的長字符串。字段名必須符合以下規(guī)則:例如’商品,單價(jià),數(shù)量’
字段名命名規(guī)則:
不能與關(guān)鍵字重名 不能以下劃線開頭 以字母(包括漢字)開頭,由字母、數(shù)字、下劃線組成。rename:默認(rèn)是False,意思是必須指定字段名。若為True,系統(tǒng)會(huì)對(duì)缺省的、重復(fù)的字段名自動(dòng)重命名為’_索引值’。
defaults:設(shè)置默認(rèn)值,可以是列表、元組,當(dāng)字段數(shù)量大于defaults的元素?cái)?shù)量時(shí),后面的字段獲得缺省值。
例如字段名有’a’,’b’,’c’這3個(gè),缺省值給了’1’,’2’兩個(gè)缺省值時(shí),’b’=1,’c’=2。
module:設(shè)置所屬模塊,默認(rèn)是’__main__’。
到此這篇關(guān)于python定義具名元組實(shí)例操作的文章就介紹到這了,更多相關(guān)python如何定義具名元組內(nèi)容請(qǐng)搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!
相關(guān)文章:
1. ASP.NET MVC實(shí)現(xiàn)下拉框多選2. JSP中param動(dòng)作的實(shí)例詳解3. Jsp servlet驗(yàn)證碼工具類分享4. ASP.NET MVC實(shí)現(xiàn)本地化和全球化5. 解決request.getParameter取值后的if判斷為NULL的問題6. .NET Framework各版本(.NET2.0 3.0 3.5 4.0)區(qū)別7. .Net反向代理組件Yarp用法詳解8. ASP.NET MVC增加一條記錄同時(shí)添加N條集合屬性所對(duì)應(yīng)的個(gè)體9. 刪除docker里建立容器的操作方法10. .NET中的MassTransit分布式應(yīng)用框架詳解
