簡體   English   中英

代碼在 Visual Studio 代碼(python)中以奇怪的方式運行

[英]Code run in a weird way in Visual Studio code (python)

我正在 python 中的 VSC 中編寫一些代碼,我注意到一個奇怪的行為:

mio_dict = {"Chiave1": "valore1", "Chiave2": "valore2", 29: 4}

mio_dict.get(4, "key not found")
mio_dict.get(29, "key not found")

基本上,如果我只有 mio_dict.get(4, "chiave non trovata"),它會正確回復,但如果我在塊中有兩個結果,它只會回復第二個結果,因為第一個不存在...任何想法為什么?

同樣,在終端有時它根本不起作用,但在交互式 shell 是...為什么???

謝謝

你的問題有點含糊。 首先請明確字典的定義, 字典是key和value的一一對應關系。

在您的情況下, 29 是key而 4 是value

讓我們閱讀get(key[,default])方法的定義:

如果鍵在字典中,則返回鍵的值,否則返回默認值。 如果未給出默認值,則默認為None ,因此此方法永遠不會引發 KeyError。

在你的代碼中,

mio_dict.get(4, "key not found")
mio_dict.get(29, "key not found")

第一個將返回“未找到鍵”,因為 4 不是字典mio_dict中的鍵,第二個將返回 4,因為 29 是一個鍵,它的值為 4。

您可以使用調試查看這兩行返回的值,或者您可以使用方法 print() 查看 output。

print(mio_dict.get(4, "key not found"))
print(mio_dict.get(29, "key not found"))

在此處輸入圖像描述

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM