python 函数及变量作用域及装饰器decorator @详解

Posted shiqi17

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python 函数及变量作用域及装饰器decorator @详解相关的知识,希望对你有一定的参考价值。

一、函数及变量的作用
在python程序中,函数都会创建一个新的作用域,又称为命名空间,当函数遇到变量时,Python就会到该函数的命名空间来寻找变量,因为Python一切都是对象,而在命名空间中,都是以字典形式存在着,这些变量名,函数名都是索引,而值就是,对应的变量值和函数内存地址。在python中可以用globals()查看全局变量,locals()局部变量。
>>> global_v = ‘全局变量‘
>>> def func():
...         local_v = ‘局部变量‘
...         print(locals())         #调用locals()输出局部变量local_v
>>> func()
{‘local_v‘: ‘局部变量‘}           #命名空间中都是以字典形式保存
>>> print(globals())  
{.........,‘global_v‘: ‘全局变量‘, ‘func‘: <function foo at 0x00000092446C7F28>}    #可以看到除了变量,函数名也作为索引,映射函数内存地址,是主程序命名空间的内容

以上是关于python 函数及变量作用域及装饰器decorator @详解的主要内容,如果未能解决你的问题,请参考以下文章

Python函数作用域嵌套函数闭包函数高阶函数及装饰器的理解

Python开发基础-Day7-闭包函数和装饰器基础

javas基础03——函数的作用域及变量提升

函数作用域及作用域链

函数作用域及函数表达式

JS 函数作用域及变量提升那些事!