报错的原因是Python在编译函数的定义体时,它判断 b 是局部变量,因为在函数里给 b 赋值了 python尝试从本地环境获取 b,但是尝试获取局部变量 b 的值时,发现b没有绑定值 ------------------<<流畅的python>>
所以要在函数里 加上 global b
告诉python b是个全局变量
# *_*coding:utf-8 *_* # -----------Error---------------- """报错的原因是Python在编译函数的定义体时,它判断 b 是局部变量,因为在函数里给 b 赋值了 python尝试从本地环境获取b,但是尝试获取局部变量b的值时,发现b没有绑定值 """ b = 2 def f(a): print(a) print(b) b = 3 的 # f(1) def f1(a): global b print(a) print(b) b = 3 print(b) f1(1)