- python赋值表达式执行过程的理解
对于”local_namespace_dict=locals()”语句,首先查找左边变量,按LEGB顺序,找不到就创建一个变量local_namespace_dict,并初始化local_namespace_dict,由于python是动态语言,不提供原子的声明命令,所以接下来立即计算右值再给左边变量提供”对象地址”,执行右边表达式locals()会生成一个local域内的{变量名:对象}的字典,此时当然有local_namespace_dict对象,只不过还没有指向而已,也会将’local_namespace_dict’:None添加进{变量名:对象}字典。计算右边表达式返回该字典赋给变量local_namespace_dict,此时确定了变量local_namespace_dict的指向,会同步更新字典中’local_namespace_dict’:None项为’local_namespace_dict’:字典对象。



本文深入解析Python中locals()函数的工作原理,阐述其如何生成当前作用域内的变量字典,包括在执行过程中变量的查找、创建及更新机制。
31万+

被折叠的 条评论
为什么被折叠?



