Python基于locals返回作用域字典
英文文档:
locals()
Updateandreturnadictionaryrepresentingthecurrentlocalsymboltable.Freevariablesarereturnedbylocals()whenitiscalledinfunctionblocks,butnotinclassblocks.
返回当前作用域内的局部变量和其值组成的字典
说明:
1.函数功能返回当前作用域内的局部变量和其值组成的字典,与globals函数类似(返回全局变量)
>>>locals() {'__package__':None,'__loader__':,'__doc__':None,'__name__':'__main__','__builtins__': ,'__spec__':None} >>>a=1 >>>locals()#多了一个key为a值为1的项 {'__package__':None,'__loader__': ,'a':1,'__doc__':None,'__name__':'__main__','__builtins__': ,'__spec__':None}
2.可用于函数内。
>>>deff(): print('beforedefinea') print(locals())#作用域内无变量 a=1 print('afterdefinea') print(locals())#作用域内有一个a变量,值为1 >>>f>>>f() beforedefinea {} afterdefinea {'a':1}
3.返回的字典集合不能修改。
>>>deff(): print('beforedefinea') print(locals())#作用域内无变量 a=1 print('afterdefinea') print(locals())#作用域内有一个a变量,值为1 b=locals() print('b["a"]:',b['a']) b['a']=2#修改b['a']值 print('changelocalsvalue') print('b["a"]:',b['a']) print('ais',a)#a的值未变 >>>f() beforedefinea {} afterdefinea {'a':1} b["a"]:1 changelocalsvalue b["a"]:2 ais1 >>>
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。