python vars函数,python nonlocal的用法
Python locals()方法
local()方法更新并返回当前局部符号表的字典。
符号表是由编译器维护的数据结构,它包含了程序的所有必要信息。
这些包括变量名、方法、类等。
有两种主要类型的符号。
全局符号表局部符号表全局符号表存储了与程序全局范围相关的所有信息,通过使用Python中的globals()方法进行访问。
全局范围包括所有函数,与任何类或函数无关的变量。
类似地,局部符号表存储与程序的局部范围相关的所有信息,在Python中通过使用locals()方法来访问它。
局部作用域可以在函数或类中。
locals()语法
locals()语法是:
局部变量()
locals()参数
locals()方法不接受任何参数。
从局部变量()返回值
local()方法更新并返回与当前局部符号表相关联的字典。
示例:
示例:Python中的1:locals()是如何工作的?
直接输入
局部变量()
输出
, __builtins__ :
, __name__: __main__ , _dh: [/home/repl], _i : , _i1: locals(), _ih: [ , locals()], _ii : , _iii : , _oh: {}, _sh :
注意:全局环境的全局()和局部()符号表是相同的。
示例02
locale()在局部变量中是如何实现的?
def localsNotPresent():
返回局部变量()
def localsPresent():
存在=真
返回局部变量()
print(localsNotPresent:,localsNotPresent())
print(localsPresent:,localsPresent())
输出
localsNotPresent: {}
localsPresent: {present: True}
示例:更新locals()字典值
def localsPresent():
存在=真
打印(当前)
locals()[ present ]=False;
打印(当前)
localsPresent()
输出
真实的
真实的
与反映实际全局表更改的globals()字典不同,locals()字典可能不会更改locals表中的信息。
希望这篇文章对你有用,
欢迎在下面留言讨论,
感谢您的关注!
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。