Python作用域
一、全局变量和局部变量
【1】局部变量: local variable
① 定义在函数内部的变量称为局部变量(函数的形参也是局部变量)
② 局部变量只能在函数内部使用
③ 局部变量在函数调用时才能够被创建,在函数调用之后会自动销毁
【2】全局变量 global variable
定义在函数外部,模块内部的变量称为全局变量 全局变量所有函数都可以直接访问(但函数内不能将其直接赋值)
二、作用域也叫名字空间,是访问变量时查找变量名的范围空间
【1】局部作用域(函数内) Local(function) L
【2】外部嵌套函数作用域 Enclosing function locals E
【3】函数定义所在模块(文件)作用域 Global(module) G
【4】Python内建模块的作用域 Builtin(Python) B
在变量访问时,先查找本地变量,然后是包裹此函数外部的函数内部的变量,之后是全局变量,最后是内建变量。
在默认的情况下,变量名赋值会创建或者改变当前作用域的变量