我想知道python,为什么d
在for
循环结束后可见并且可以访问?在C
中,这是不可能的。它在python中有效吗?
for i in range(4):
d = i * 2
print(d)
在线编译链接here。
答案 0 :(得分:5)
Python没有块范围的变量。相反,它具有功能范围,类范围和全局范围。
换句话说,在该点之后可以访问函数中任何位置初始化的变量。 E.g:
for x in range(2):
pass
print(x) # <--- x is accessible
或者:
def f(x):
if x:
y = 1
else:
y = 2
return y # <--- y is accessible