摘要:通過字段名或者位置來獲取一個字段的信息屬性是一個包含這個類所有字段名稱的元組用通過接受一個可迭代對象來生成這個類的一個實例作用跟一樣把具名元組以形式返回
lax_coordinates = (33.9425, -118.408056) city, year, pop, chg, area = ("Tokyo", 2003, 32450, 0.66, 8014) traveler_ids = [("USA", "31195855"), ("BRA", "CE342567"), ("ESP", "XDA205856")] for passport in sorted(traveler_ids): print("%s/%s" % passport) for country, _ in traveler_ids: # 元組拆包 print(country)元組拆包可以應用到任何可迭代對象
1 平行賦值
latitude, longitude = lax_coordinates
2 不使用中間變量
latitude, longitude = longitude, latitude
3 用*運算符把一個可迭代對象拆開作為函數的參數
t = (20, 8) quotient, remainder = divmod(*t)
4 讓一個函數可以以元組的形式返回多個值
import os _, filename = os.path.split("/home/app/.ssh/idrsa.pub") print(filename)
用*來處理剩下的元素
a, b, *rest = range(5) print(*rest)
*前綴只能用在一個變量名前面,但是位置可以隨意
a, *body, c, d = range(5) print(*body)嵌套元組拆包
metro_areas = [ ("Tokyo", "JP", 36.933, (35.689722, 139.691667)), ("Delhi NCR", "IN", 21.935, (28.613889, 77.208889)), ("Mexico, City", "MX", 20.142, (19.43333, -99.133333)), ("New York-Newark", "US", 20.142, (40.808611, -74.020386)), ("Sao Paulo", "BR", 19.649, (-23.547778, -46.635833)), ] print("{:15} |{:^9} |{:^9}".format("", "lat.", "long.")) fmt = "{:15} | {:9.4f}|{:9.4f}" for name, cc, pop, (latitude, longitude) in metro_areas: if longitude <= 0: print(fmt.format(name, latitude, longitude))具名元組
collections.namedtuple 是一個工廠函數,可以用來構建一個帶字段名字的元組和一個有名字的類(利于調試)
創建一個具名元組需要兩個參數,一個是類名,另一個是類的各個字段的名字。
存放在對應字段的數據要以一串參數的形式傳入到構造函數中。
通過字段名或者位置來獲取一個字段的信息
from collections import namedtuple City = namedtuple("City", "name country population coordinates") tokyo = City("Tokyo", "JP", 36.933, (35.689722, 139.691667)) print(tokyo)
_fields屬性是一個包含這個類所有字段名稱的元組
用_make()通過接受一個可迭代對象來生成這個類的一個實例,作用跟City(*delhi_data)一樣
_asdict把具名元組以collections.OrderedDict形式返回
print(City._fields) LatLong = namedtuple("LatLong", "lat long") delhi_data = ("Delhi NCR", "IN", 21.935, LatLong(28.613889, 77.208889)) delhi = City._make(delhi_data) print(delhi._asdict()) for key, value in delhi._asdict().items(): print(key + ":", value)
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/42297.html
摘要:元組運算符可與使用加號來連接兩個元組輸出為也可以使用乘號輸出為當然也可以用成員運算符通用地可以使用刪除元組元組相關內置函數計算元組元素個數。返回元組中元素最大值返回元組中元素最小值。可迭代對象將可迭代對象轉換為元組。 元組是什么? 你可以把它看作是只讀的列表,因為元組不可改變,但是要注意,如果元組中含有列表元素,則該列表元素是可變的,通俗地講就是兒子不可變,但是孫子可變 由于元組不可...
摘要:元組和列表的為唯一區別就是列表可以更改,元組不可以更改,其他功能與列表一樣創建元組的兩種方法第一種第二種如果元祖內只有一個元素,那么需要加上一個逗號,否則就變成字符串了。 元組(tuple)和列表的為唯一區別就是列表可以更改,元組不可以更改,其他功能與列表一樣 創建元組的兩種方法 第一種 ages = (11, 22, 33, 44, 55) 第二種 ages = tuple((11,...
摘要:元組是不可以改變的序列,如果元組的元素包含列表字典是支持修改操作的。這就意味著它們通過算法得到的值總是一個值。這是作為字典鍵值的一個必備條件。 元組是不可以改變的序列,如果元組的元素包含列表、字典是支持修改操作的。因為不可變所以元素的修改會報錯: >>> tt=(3,4,5) >>> type(tt) >>> tt[2]=4 Traceback (most recent call l...
摘要:與聲明數組類型類似只不過在數組基礎上更加細分化每個元素示例順序不可以顛倒長度不可以違規是固定的如果你的數組沒有滿足元組要求報錯意思就是你的屬性個在類型中缺失,但在元組中設定是必須的如果你的元素沒有滿足數組的長度會怎么樣呢報錯意思是你的數組不 與 聲明數組類型 類似 只不過在 數組 基礎上更加細分化每個元素 示例: let myTuple: [number, string, boo...
摘要:類元編程是指在運行時創建或定制類的技藝。注意在中做元編程時最好不要用和函數。三元類基礎知識元類是類元編程最高級的工具使用元類可以創建具有某種特質的全新變種,例如抽象基類。建議除非開發框架,否則不要在生產代碼中定義元類或抽象基類。 導語:本文章記錄了本人在學習Python基礎之元編程篇的重點知識及個人心得,打算入門Python的朋友們可以來一起學習并交流。 本文重點: 1、了解運行時創建...
閱讀 2589·2021-08-20 09:38
閱讀 1365·2019-08-30 15:43
閱讀 603·2019-08-29 17:13
閱讀 1614·2019-08-29 14:01
閱讀 1324·2019-08-29 13:29
閱讀 2345·2019-08-23 18:29
閱讀 2057·2019-08-23 17:51
閱讀 1925·2019-08-23 17:16