讓我們來看看這裏...
reshape, crop = {
1: ((1952, 3264), (1944, 3240)),
2: ((2480, 4128), (2464, 4100)),
}
這這裏定義與鍵1
和2
字典。附加到每個鍵是一個元組元組。我相信真正的代碼中有更多的條目,最後一個條目的逗號。但是,這個對象的大部分都會因垃圾收集而丟失。元組分配到reshape
和crop
將導致只有密鑰被存儲。所以這個東西的結果是一樣的:
reshape = 1
crop = 2
有趣的,如果沒用。下一步...
offset = {1: 6404096, 2: 10270208,}[ver]
所以這這裏定義了密鑰1
和2
和與它們相關的長整型值另一個字典。然後它使用ver
索引此詞典並將此索引處的值分配給offset
。由於ver
尚未定義,所以會導致例外。假設在之前給出以下代碼:
#where ver is defined as a dictionary
ver = {
'RP_ov5647': 1,
'RP_imx219': 2,
}[camera.exif_tags['IFD0.Model']]
這裏我們還有另外一本字典。這次密鑰是'RP_ov5647'
和'RP_imx219'
,其值爲1
和2
。本詞典的索引值爲camera.exif_tags['IFD0.Model']
。假設camera.exif_tags
是帶鍵控索引的對象,其中一個索引爲'IFD0.Model'
,結果值爲'RP_ov5647'
或'RP_imx219'
,ver
將指定爲1
或2
。
讓1或2將被用於索引我們上面的偏移值產生偏移被分配或者6404096
或10270208
總之,它是所有沒有語法上有效的一羣。感謝分享。
類型是什麼?我只看字典。 – Carcigenicate
「我很困惑」我們也是。 – DeepSpace
你指的是什麼*「it」*?爲什麼要建立一個字典,然後分配它的鍵(整數),但完全忽略它的值(整數元組的元組)?你想做什麼*? – jonrsharpe