4-1 python的变量作用域
Date: 2021-05-22
Author: SunnyChou
变量由作用范围来限制,按照作用域分类可分为:
- 全局(global): 在函数外部定义
- 局部(local):在函数内部定义
1. 命名空间
比如有一个学校,有5个班级,在2班和4班中都有一个叫“小明”的同学,如果在学校的广播中呼叫“小明”时,2班和4班中的这2个人就纳闷了,你是喊谁呢!!!如果是“2班的小王”的话,那么就很明确了,那么此时的2班就是小王所在的范围,即命名空间
Python中有三种命名空间
a) 局部,函数内的命名空间就是局部的;
b) 全局,模块内的命名空间就是全局的;
c) 内置,包括异常类型、内建函数和特殊方法,可以代码中任意地方调用;
命名空间特点
Python会把命名后的变量和函数分配到不同的命名空间,并通过名称来识别它们。
Python命名空间是名称到对象的映射,这就像是字典,键名是变量名,值是变量的值。
在Python程序执行过程中,会有局部命名空间、全局命名空间和内建命名空间同时存在。