Pythonコード:Pythonで変数がCより長く(なぜスコープが大きい)生きるのですか?
for i in xrange(10):
for j in xrange(5):
pass
# The for-loop ends, but i,j still live on
print i,j # 9, 4
Cコード:
for(int i=0; i<=10; i++)
for(int =0; j<=5; j++)
;
// The for-loop ends, so i,j can't be accessed, right?
printf("%d, %d", i, j); // won't compile
ので、Pythonでの変数はfor
ループが終了した後も生きでしょうか?
私はコードがあなたと同等ではないと思います。私はPythonに慣れていませんが、 'i'が既にpythonで宣言されているのは' for'の外にあるのに対し、 'i'はforループのローカルです。 – Ankit
同等のCコードでは、forループ(int i、j;)の外側でiとjを宣言し、forループでそれらを代入するだけです。 – Joe
@Joe私はあなたが_could_を意味すると思います。_should_ではありません。ポイントはPythonで、あなたはループのスコープのローカル変数を宣言できません。 – agf