在Harmony中,有一个let
关键字,允许声明范围限定为最近块的变量。例如
function foo() {
if (true){
let a = 100;
}
return a
}
将导致错误,因为a
仅在if
块内定义。
我知道我可以使用del
来实现相同的目标,但这是手动而非自动,如let
关键字
答案 0 :(得分:2)
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