Python中的变量作用域(1ni)

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

猜你喜欢

转载自blog.csdn.net/qq_40952927/article/details/80458871