Exec对本地变量的影响:
python 3 Dialemma 在Python 3中,以下代码shippet无法更新本地变量,因为人们可能会期望: [2 a = 1 exec(“ a = 3”) print(a)
代替预期的'3',它令人震惊地打印'1'!困难
局部()绕过此限制并更新本地变量,必须明确将当地词典通过exec。该词典将在执行动态代码后存储更新的本地变量。修订的代码看起来像这样: def foo(): ldict = {} exec(“ a = 3”,Globals(),ldict) a = ldict ['a'] print(a)
pythonpython 2的异常[&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&华2,旧的Exec语句的工作方式不同。它允许通过编译器对内置exec的特殊处理进行动态修改本地变量。[&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& && && && && && && && && && && && && && && && && && && && && && && perthon 3 exec call in python 3修改局部变量的方法更改。通过采用明确的当地词典,开发人员可以在维护对其本地变量的控制的同时利用动态代码执行的功能。
免责声明: 提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发到邮箱:[email protected] 我们会第一时间内为您处理。
Copyright© 2022 湘ICP备2022001581号-3