我想知道a
以下 Python 代码段中变量的范围,
# ============================
def get_plotter():
def get_a():
return a
a = 3.14
return get_a
# ============================
if __name__ == '__main__':
f = get_plotter()
print f()
# ============================
输出是3.14
,但是查看我期望a
一旦get_plotter()
终止就会超出范围的代码,实际上留下了未定义的东西。
它只是在这里打印的易失性内存内容吗?这是怎么回事?