2014-01-27 76 views
0

我曾嘗試這樣的代碼:python迭代語句後迭代變量是否存在?

for i in range(10) 
    print(line, i) 

print(line, i) 

,並沒有錯誤執行的程序,那麼爲什麼連for後聲明宣佈i,不應該再存在。

+1

看看這個問題http://stackoverflow.com/questions/3611760/scoping-in-python-for-loops –

+0

對不起,沒有看到它 – karim

回答

0

是的,當循環結束時,您的迭代變量不會被刪除。正如the documentation puts it:「循環結束時,目標列表中的名稱不會被刪除」。

這與變量作用域有關。正如已經指出的那樣,變量i存在於你所在函數的範圍內。循環不會在python中創建額外的範圍。

0

範圍在一個函數內,而不是一個循環。與其他編程語言稍有不同。