python赋值表达式执行过程的理解,通过运行variable=locals()来理解

  1. 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’:字典对象。

 

 

 

 

猜你喜欢

转载自blog.csdn.net/HayPinF/article/details/107427194