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
相关推荐
一晌小贪欢几秒前
Python 魔术方法实战:深度解析 Queue 模块的模块化设计与实现
开发语言·分布式·爬虫·python·python爬虫·爬虫分布式
白云千载尽1 分钟前
交换空间扩容与删除、hugginface更换默认目录、ffmpeg视频处理、清理空间
python·ffmpeg·控制·mpc·navsim
wangbing11252 分钟前
从lambda 表达式引用的本地变量必须是最终变量或实际上的最终变量
java·开发语言
胡西风_foxww6 分钟前
学习python人工智能路径及资源
人工智能·python·学习·路径·资源·书籍·路线
奔跑的web.10 分钟前
TypeScript namespace 详解:语法用法与使用建议
开发语言·前端·javascript·vue.js·typescript
老歌老听老掉牙11 分钟前
Python+PyQt5 实现目录文件扫描与导出工具
python·qt·文件扫描
七夜zippoe16 分钟前
HTTP协议深度解析与实现:从请求响应到HTTP/3的完整指南
python·网络协议·http·quic·帧结构
倾国倾城的反派修仙者17 分钟前
鸿蒙开发——使用弹窗授权保存媒体库资源
开发语言·前端·华为·harmonyos
电化学仪器白超18 分钟前
③YT讨论
开发语言·python·单片机·嵌入式硬件
listhi52021 分钟前
基于MATLAB的平板小孔应力集中问题有限元分析程序
开发语言·matlab