路飞学城Python-Day10

【37.函数-命名空间】
命名空间又称为name space,顾名思义就是存放名字的地方,存什么名字呢?举例说明,若变量 x = 1,存放于内存中,那名字x存放在哪里呢?
名称空间正式存放名字x和1绑定关系的地方
名称空间共3种
1.locals:是函数内的名称空间,包括局部变量和形参
2.globals:全局变量,函数定义所在模块的名字空间
3.builtins:内置模块的名字空间
不同变量的作用域不同就是由这个变量的所在的命名空间决定的
作用域即范围
全局范围:全局灵活,全局有效
局部范围:临时存活,局部有效
查看作用域的方法globals(),locals()

【28.函数-作用域的查找空间】
作用域的查找顺序
LEGB>>locals->enclosing function ->globals->__builtins__
1.locals:是函数内的名称空间,包括局部变量和形参
2.enclosing 外部嵌套函数的命名空间
3.globals:全局变量,函数定义所在模块的名字空间(打印所在脚本的所有变量)
4.builtins:内置模块的名字空间

猜你喜欢

转载自www.cnblogs.com/pandaboy1123/p/9279099.html