哪里出问题了  python 中,使用 global 会将全局变量设为本函数可用。同时,在函数内部访问变量会先本地再全局。  在嵌套函数中,使用 global 会产生不合常理的行为。所以 print 会打印本地 b  为什么会打印 12 ?  在函数 y() 中,语句 global a,b 使a,b扩展为全局,所以,在最高层,就算没有 b,也会产生 b。  也就是说, global a,b ,会认为 a 和 b 是最外层的变量。y() global b 后没赋值,顶层就没有 b。这说明,global 只是引入名称,并不做赋值等操作。

PYTHON 中使用 GLOBAL引发的一系列问题

PYTHON 中使用 GLOBAL引发的一系列问题

PYTHON 中使用 GLOBAL引发的一系列问题

PYTHON 中使用 GLOBAL引发的一系列问题

PYTHON 中使用 GLOBAL引发的一系列问题

PYTHON 中使用 GLOBAL引发的一系列问题