Python局部变量作用域
我即将进行期末考试,这是我唯一无法正确回答的问题: 问题4Python局部变量作用域,python,Python,我即将进行期末考试,这是我唯一无法正确回答的问题: 问题4 word = 'off' prev = "" for letter in word: if prev == ""; prev = letter out = "" continue elif letter == prev: prev = letter out = letter break else: pr
word = 'off'
prev = ""
for letter in word:
if prev == "";
prev = letter
out = ""
continue
elif letter == prev:
prev = letter
out = letter
break
else:
prev = letter
out = word[0]
print(out)
a) ob) f
c) 属于
d) “”(空字符串)
e) 以上都没有
当我试图解决这个问题时,我认为答案是“以上都没有”,因为
out
是在局部变量范围内定义的,不再存在于if
语句的每个部分之外。当我在编译器中运行代码检查我的答案时,我发现正确答案是b。有人能解释为什么局部变量范围允许这个答案是正确的吗?提前感谢。因为变量不是在函数或类中声明的,而是在全局范围中声明的
您可以在此处阅读更多信息:
for
和if
语句没有自己的作用域。代码在函数或类中也可以正常工作。Python根本没有块作用域。