在我们开始执行程序逻辑之前,看到解释器没有审查所有符号,我有点困惑。
例如,在此清单中:
def func_twice(f, x):
f(f(x))
def square(x):
return x * x
result = func_twice(square,2)
在运行时评估之前,结果在全局框架中仍然不可见。
在这个:
def f(x, y):
return g(x)
def g(a):
return a + y
f(1, 2)
y在被评估之前没有经过语法检查。
如果有人说,这是由于解释性语言的性质,就是这样,如何用python编写企业应用程序,它可能有许多程序员引入的此类错误,直到测试才能恢复?