python入行015(命名空间和作用域)

1 名称空间

  名称空间(namespaces):是对栈区的划分,可以在不同的名称空间存放相同的名字。 

  1.1 内置名称空间

  存放名字:python解释器内置的名字,如(print、input等)

  存活周期:解释器启动产生,解释器关闭销毁

  1.2 全局名称空间

  存放名字:只要不是内置名字,也不是函数内定义的名字,就是全局名称空间的名字

  存活周期:python文件执行则产生,执行完毕后销毁

  1.3 内置名称空间

  存放名字:调用函数时,执行函数体代码过程中产生的名字

  存活周期:调用函数时产生,调用完毕后销毁

  1.4 名称空间加载顺序

  内置名称空间=>全局名称空间=>局部名称空间

  1.5 名字查找优先级

  当前所在的位置向上一层一层查找。

  注意:名字的查找是以函数定义阶段为准,与调用阶段无关。

2 作用域(作用范围)

  全局作用域:内置名称空间、全局名称空间

  特点:全局存活、全局有效

  局部作用域:局部名称空间

  特点:临时存活、局部有效

猜你喜欢

转载自www.cnblogs.com/mmmmmrz/p/12529441.html