全局变量作用域是整个程序,局部变量作用域是定义该变量的子程序。
作用域
作用域是程序运行时变量可被访问的范围,
定义在模块最外层的变量是全局变量,它是全局范围内可见的,当然在函数里面也可以读取到全局变量的。例如:
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()