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>}    #可以看到除了变量,函数名也作为索引,映射函数内存地址,是主程序命名空间的内容

猜你喜欢

转载自www.cnblogs.com/shiqi17/p/9331002.html