Python的locals()与globals()

本文最后更新于2014年11月9日,已超过 1 年没有更新,如果文章内容失效,还请反馈给我,谢谢!

locals()globals()在作用域上的区别

正如它们的命名,locals()返回的是局部变量,globals()返回的是全局变量。

这个差异在函数中就比较容易发现了,建议自己编写函数试试:

 

locals()globals()在访问性上的区别

我们先来看一段简单的脚本吧:

可以看出globals()返回的是当前全局变量的引用, 而且可以通过修改b[‘a’]来改变变量a的值.

所以globals()的返回值是可读可写的。

让我们再来看一段脚本:

在locals()中试图修改b的值,失败了。

在locals()的引用变量c中修改b的值,失败了。

可见locals()虽然返回的和globals()一样都是字典但其访问性是不同的。

globals()可以直接修改其中对应键的值locals()做不到。

 

Python locals()与globals()的区别

 

将整型数转换为IP地址

 

参考链接:

声明: 除非注明,ixyzero.com文章均为原创,转载请以链接形式标明本文地址,谢谢!
https://ixyzero.com/blog/archives/1562.html

发表评论

电子邮件地址不会被公开。 必填项已用*标注