26函数---作用域

全局变量作用域是整个程序,局部变量作用域是定义该变量的子程序。

作用域

作用域是程序运行时变量可被访问的范围,

定义在模块最外层的变量是全局变量,它是全局范围内可见的,当然在函数里面也可以读取到全局变量的。例如:

num = 10 # 全局变量
def foo():
    print(num)  # 10

定义在函数内的变量是局部变量,局部变量的作用范围只能是函数内部范围内,它不能在函数外引用。

局部变量--->定义在函数里面,只在函数里面生效。

def foo():
    num = 10 # 局部变量
print(num)  # NameError: name 'num' is not defined

变量重命名之后,后一个会把前面的变量给覆盖

案例:

x = 1

def f():
    # global x
    x = 10
    print(x)
    
f()

Python函数的作用域规则和闭包

你可能感兴趣的:(26函数---作用域)