一, 函数及变量的作用
在 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>} #可以看到除了变量, 函数名也作为索引, 映射函数内存地址, 是主程序命名空间的内容
来源: http://www.bubuko.com/infodetail-2690549.html