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
相关推荐
aini_lovee13 小时前
C# 快速搜索磁盘文件解决方案
开发语言·c#
小陈工13 小时前
2026年4月8日技术资讯洞察:边缘AI推理框架竞争白热化,Python后端开发者的机遇与挑战
开发语言·数据库·人工智能·python·微服务·回归
赵药师13 小时前
YOLO中task.py改复杂的模块
python·深度学习·yolo
零二年的冬13 小时前
epoll详解
java·linux·开发语言·c++·链表
大飞记Python13 小时前
【2026更新】Python基础学习指南(AI版)——03内置函数
人工智能·python
凭君语未可13 小时前
Java 中的接口是什么
java·开发语言
XiYang-DING13 小时前
【Java】二叉树
java·开发语言·数据结构
断眉的派大星14 小时前
pytorch中链式法则求解梯度
人工智能·pytorch·python
下北沢美食家14 小时前
JavaScript面试题2
开发语言·javascript·ecmascript
疯狂成瘾者14 小时前
text_splitter常见方法
python·langchain