![]() |
#2
wp2319572020-03-08 15:58
回复 楼主 gps99
|
加载变量的优先级顺序依次是:python 内置作用域 > 当前模块中的全局(文件从上而下读取)> 外层作用域 > 局部作用域。
教材中,列出下面这例子,结果也是 10 (上层函数变量的结果)
但是,我实际运行的结果为 2 (全局变量的结果)(python 3.7.6)
这就奇怪了。
![](zzz/editor/img/code.gif)
first1 = 2 # 全局变量
def in_numbers():
second = 20 # 嵌套的局部变量
print(first1)
def numbers():
first1=10 # 局部变量
in_numbers()
numbers()
def in_numbers():
second = 20 # 嵌套的局部变量
print(first1)
def numbers():
first1=10 # 局部变量
in_numbers()
numbers()
请教大家,是我理解错了?