2016-02-29 52 views
2

例如,我通過一本字典mydict迭代如下:Python如何知道變量的數據類型?

mydict = {"Name" : "Vincent Vega", 
      "Profession" : "Gangster", 
      "Age" : "42"} 

for k in mydict: 
    print k, mydict[k] 

現在,k僅僅是一個循環變量,我甚至沒有申報。編譯器如何知道,通過k,我的意思是字典的關鍵字?

回答

6

for聲明在對象上使用特殊方法(__iter__next),這裏是mydict

每一次迭代產生一個結果,存儲在變量k

對於詞典時,該__iter__方法返回字典的鍵。

更多信息here

1

for循環呼叫iter()上循環的序列,並且對結果使用next()調用。
不同的對象可以返回具有不同行爲的不同迭代器,這就是爲什麼一次你會看到它遍歷字典的鍵和另一次數組的索引,這取決於迭代。

相關問題