Python 动态变量名定义与调用方法

一、使用 exec 动态赋值

exec 在 python3 中是内置函数,它支持 python 代码的动态执行。

复制代码
In [1]: for i in range(5):
  ...:   exec('var{} = {}'.format(i, i))
  ...:
 
In [2]: print(var0, var1, var2, var3 ,var4)
0 1 2 3 4

二、利用命名空间动态赋值

在Python的命名空间中,将变量名与值存储在字典中,

可以通过locals(),globals()函数分别获取局部命名空间和全局命名空间。

复制代码
>>> names = locals()
>>> for i in range(5):
...   names['n' + str(i) ] = i
...
>>> print(n0, n1, n2, n3, n4)
0 1 2 3 4
>>>

三、在类中使用动态变量

Python 的类对象的属性储存在的 dict 中。dict 是一个词典,键为属性名,值对应属性的值。

复制代码
>>> print(n0, n1, n2, n3, n4)
0 1 2 3 4
>>> class Test_class(object):
...   def __init__(self):
...     names
相关推荐
骑士雄师11 分钟前
大模型:临时会话
开发语言·python
努力中的编程者1 小时前
STL-vector的模拟实现
开发语言·c++·算法·stl·vector
山海云端有限公司1 小时前
实战指南:用豆包图片生成API快速搭建AI绘画能力
python·ai绘画·api调用·图片生成·豆包api
ganbingfenxiang1 小时前
山西干冰零售
大数据·人工智能·python·零售
薛定猫AI1 小时前
【深度解析】GLM-5.2 与 Z-Code:AI 编程智能体的原理拆解与 Python 调用实战
开发语言·人工智能·python
没文化的阿浩1 小时前
【C++】详解继承机制
开发语言·c++
冰暮流星1 小时前
flask之定义URL
后端·python·flask
文祐1 小时前
C语言用双向链表实现单调递减(递增)队列
c语言·开发语言·链表
雪的季节1 小时前
OCR: windows 环境基于c++的 paddle ocr 编译【CPU版本】编译成dll ,在QT、VS中调用
开发语言
蒟蒻的贤2 小时前
python搭建MiniDL
开发语言·python·深度学习