我遇到了这个奇怪的行为嵌套for循环,我不能为我的解释这一点。这是一个python特定的东西还是我只是监督一些东西?Python嵌套循环行为
这是我运行代码:
for i in range(16):
if i == 0:
for j in range(8):
print 'i is (if) ' + str(i)
i = i + 1
else:
print 'i is (else)' + str(i)
这是我得到的输出:
i is (if) 0
i is (if) 1
i is (if) 2
i is (if) 3
i is (if) 4
i is (if) 5
i is (if) 6
i is (if) 7
i is (else)1
i is (else)2
i is (else)3
i is (else)4
i is (else)5
i is (else)6
i is (else)7
i is (else)8
i is (else)9
i is (else)10
i is (else)11
i is (else)12
i is (else)13
i is (else)14
i is (else)15
这是我期待的输出:
i is (if) 0
i is (if) 1
i is (if) 2
i is (if) 3
i is (if) 4
i is (if) 5
i is (if) 6
i is (if) 7
i is (else)8
i is (else)9
i is (else)10
i is (else)11
i is (else)12
i is (else)13
i is (else)14
i is (else)15
看起来好像我在外循环和我在内循环是不同的变量,虽然这似乎完全counterintu对我来说很有意思。
任何输入(我是相当新的蟒蛇,但无法找到该文档)
+1关于理解python变量范围的巧妙问题 –