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
相关推荐
一只鹿鹿鹿19 分钟前
网络信息与数据安全建设方案
大数据·运维·开发语言·网络·mysql
a努力。22 分钟前
国家电网Java面试被问:慢查询的优化方案
java·开发语言·面试
AI手记叨叨25 分钟前
Python数学:几何运算
python·数学·解析几何·射影几何·微分几何·欧几里得几何
@小码农36 分钟前
202512 电子学会 Scratch图形化编程等级考试四级真题(附答案)
java·开发语言·算法
ejjdhdjdjdjdjjsl42 分钟前
C#类型转换与异常处理全解析
开发语言·c#
toolhow1 小时前
SelfAttenion自注意力机制
pytorch·python·深度学习
智航GIS1 小时前
6.2 while循环
java·前端·python
qq_336313931 小时前
java基础-IO流(转换流)
java·开发语言·python
小宇的天下1 小时前
Calibre nmDRC 运行机制与规则文件(13-2)
运维·开发语言
扶苏-su1 小时前
Java---IO流原理和分类
java·开发语言