This question already has answers here:
Block scope in Python
(5个答案)
5年前关闭。
在Harmony中,有一个
因为
我知道我可以使用
拨打电话会导致:
(5个答案)
5年前关闭。
在Harmony中,有一个
let
关键字允许声明范围为最近的块的变量。例如function foo() {
if (true){
let a = 100;
}
return a
}
因为
a
仅在if
块内定义,将导致错误。我知道我可以使用
del
来实现相同的目的,但这是手动的,而不是像let
关键字那样自动的 最佳答案
Python为每个类,模块,函数或生成器表达式创建范围。代码块中没有作用域。您可能可以使用嵌套函数来实现预期的目标,例如:
def outside():
def inside():
var=5
print var
拨打电话会导致:
outside()
Traceback (most recent call last):
File "<input>", line 1, in <module>
File "<input>", line 5, in outside
NameError: global name 'var' is not defined
10-05 19:45