我之前學習過Visual Basic,現在我正在學習Python。我意識到,在Python中,我們不必爲for loop
中的標識符初始化一個值,但這是while loop
中的另一種方式。我在Visual Basic中看起來並不熟悉,我們必須在兩個循環中聲明一個變量作爲標識符。Python - 爲什麼我們必須在while循環中初始化標識符,而不是在for循環中?
例如,在Python維基,
x = 1
while True:
print "To infinity and beyond! We're getting close, on %d now!" % (x)
x += 1
運行完美。但是,在我評論x = 1
後,它會生成一個錯誤。爲什麼不能像for loop
那樣運行,其中x
從0開始?
此外,即使我們在for loop
分配用於標識符的值,例如,
num = 10
for num in range(5):
print num
print num
環路將覆蓋分配的值。爲什麼這樣?
我知道這裏有很多for loop
和while loop
的問題,但大部分都是OP代碼的案例研究。我想要的是當執行for loop
或while loop
時,對Python結構本身和語言的一些基本操作的更一般的解釋。另外,在這種情況下,我指的是Python 2.7.11。如果你能指出3.5.1結構的不同,我將非常感激。非常感謝。
我真的不知道你期望什麼樣的答案。您似乎已經知道如何進行循環工作。理解變量賦值的問題在這裏? – timgeb
在python中,如果不首先爲其分配值,則不能使用變量。所以當你不設置'x = 1'時,python不會知道'x'是什麼。 在'for'循環中,'num'被用作迭代器,所以這個命令在每個循環遍中爲列表中的每個值設置它的值,'range(5)'產生整數值從0到4 – nsilent22
@timgeb請參閱我的回覆。 – Caesium95