加载中...

python 函数作用域

对于 python 中的全局变量,在函数体内只能访问,不可修改。若想修改则需要用 global 关键字声明。

eg:

c = 1
def f():
    print(c)

f() # 可执行
c = 1
def g():
    global c # 在函数体内修改全局变量,需要声明
    c += 1
    print(c)

g()

定义在函数体内的函数,称为“闭包”。与全局变量原理一致,对于外层函数内的变量,在内层函数只能访问,不能修改。若想修改则需要用 nonlocal 关键字声明。

eg:
def f()
    b = 1
    def g():
        print(b)
    g()
f() # 可执行
eg:
def f()
    b = 1
    def g():
        nonlocal b # 由于修改了变量b,必须用nonlocal声明
        b += 1
        print(b)
    g()
f() 
posted @ 2025-09-13 10:02  jxs123  阅读(9)  评论(0)    收藏  举报