首页 > 后端开发 > Python教程 > 如何在Python中动态分配局部变量?

如何在Python中动态分配局部变量?

Linda Hamilton
发布: 2024-12-02 03:11:13
原创
661 人浏览过

How Can I Dynamically Assign Local Variables in Python?

Python 中的动态变量赋值

在 Python 中,通过直接修改 locals() 字典来动态设置局部变量并不是一个可行的解决方案。与普遍看法相反,任何此类修改都不会在函数范围内持续存在。

替代方法

要动态设置局部变量,请考虑使用以下任意方法:

字典

创建一个字典并动态分配键值对:

d = {}
d['xyz'] = 42
登录后复制

对象属性

使用对象并动态设置属性:

class C: pass

obj = C()
setattr(obj, 'xyz', 42)
登录后复制

编辑

访问非函数命名空间中的变量(模块、类定义、实例)通常涉及字典查找。然而,函数局部变量通过预编译编译器已知的变量名称来优化速度。

在 Python 的 C 实现中,在函数内调用 locals() 会创建一个用当前局部变量值初始化的字典。该字典随着局部变量的更改而更新,并在后续调用 locals() 时返回。

在 IronPython 中,调用 locals() 的函数使用字典作为其局部变量存储。对局部变量的赋值会改变字典,反之亦然。但是,在 IronPython 中将不同的名称绑定到局部函数可以访问绑定范围的局部变量,而不是函数的局部变量。

警告

重要的是要注意分配给 locals() 返回的字典可能会产生不可预测的结果。强烈建议不要依赖这些作业。

以上是如何在Python中动态分配局部变量?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板