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
相关推荐
智算菩萨4 分钟前
【Python机器学习】分类模型评估体系的全景解析:准确率、精确率、召回率、F1 分数与 AUC
python·机器学习·分类
七夜zippoe5 分钟前
Python迭代器与生成器深度解析:从原理到协程应用实战
开发语言·python
2401_841495645 分钟前
Python适合开发的游戏
python·游戏·pygame·tkinter·panda3d·arcade·ursina
Sunsets_Red11 分钟前
待修改莫队与普通莫队优化
java·c++·python·学习·算法·数学建模·c#
葡萄城技术团队14 分钟前
在 Java 中优化 MySQL 查询以提升性能
java·开发语言·mysql
Rhys..16 分钟前
js-箭头函数
开发语言·javascript·ecmascript
爱学习的梵高先生17 分钟前
C++:友元
开发语言·c++
资深低代码开发平台专家19 分钟前
厌倦JavaScript 框架桎梏?Still.js:用原生之力,解遗留系统之困
开发语言·javascript·ecmascript
艺术是真的秃头21 分钟前
Trae:当编程从“编写”转向“对话”与“委派”
人工智能·python·ai·aigc
纟 冬22 分钟前
Flutter & OpenHarmony 运动App运动目标设定组件开发
开发语言·javascript·flutter