【发布时间】:2018-11-27 11:57:16
【问题描述】:
for i in 1:2
if i == 2
print(x)
end
if i == 1
x = 0
end
end
UndefVarError : x 未定义
为什么代码给出了那个错误,而不是在 julia 中打印 0?
而在python中下面的代码打印0?
for i in range(2):
if i==1:
print(x)
if i==0:
x=0
【问题讨论】:
-
没有一种语言会允许您在声明变量之前 使用它。并且
x未声明。 -
变量在声明之前没有被使用,这在python中有效
-
你在第 3 行使用它。你在哪里声明它?不,这在 Python 中不起作用。请打开 Python 提示符并输入
print(x)。你会得到NameError: name 'x' is not defined -
@Amy:这实际上将在 Python 中工作,因为
x在循环的第一次迭代中设置为 0,并且仅在第二次迭代时打印。 -
Julia 具有大多数代码块引入的本地范围。这样编译器就可以轻松地优化函数。在文档中查看:docs.julialang.org/en/v0.6.2/manual/variables-and-scoping/…
标签: python-3.x for-loop julia undefined-variable