在 Python 中访问动态设置的局部变量
尽管有前面的建议,但通过 locals() 直接修改局部变量是不可靠且未定义的。相反,可以采用几种实用的方法来实现动态局部变量操作。
字典操作
利用字典来分配和访问动态局部变量:
d = {} d['xyz'] = 42 print(d['xyz'])
对象属性
设置对象上的属性来创建动态局部变量:
class C: pass obj = C() setattr(obj, 'xyz', 42) print(obj.xyz)
注意:
访问非函数命名空间(模块、类定义、实例)中的变量通常涉及字典查找。函数局部变量可以针对速度进行优化,并且通常不可能在函数内直接修改 locals()。
IronPython 异常
在 IronPython 中,显式调用 locals( ) 将局部变量作为字典返回。在函数中将不同的名称绑定到局部变量可以访问绑定范围的局部变量。
结论
使用字典或对象属性为动态设置提供了可靠的方法Python 中的局部变量。避免依赖直接修改 locals() 以防止不可预测的行为。
以上是如何在Python中动态设置和访问局部变量?的详细内容。更多信息请关注PHP中文网其他相关文章!