4. python作用域

什么是作用域?

作用域指的是变量、函数和类等标识符在代码中的可访问区域。

Python主要有四种作用域:

  1. 局部作用域(Local);
  2. 嵌套函数作用域(Enclosing Function Local);
  3. 全局作用域(Global);
  4. 内置作用域(Built-in);

python作用域如图所示:

变量名的查找规则

  1. 在访问变量时,先查找本地变量,然后是包裹此函数外部的函数内部的变量,之后是全局变量,最后是内置变量。
  2. 在默认的情况下,变量名赋值会创建或者改变本地作用域变量。

python作用域示例

v = 100
def fun1():
    v = 200  # 创建fun1内部的局部变量v
    print("fun1.v =", v)
    def fun2():
        v = 300  # 创建fun2内部的局部变量v
        print("fun2.v =", v)
    fun2()

fun1()
print("v =", v)