报错的原因是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)