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
相关推荐
曲幽3 小时前
FastAPI + PostgreSQL 实战:从入门到不踩坑,一次讲透
python·sql·postgresql·fastapi·web·postgres·db·asyncpg
用户8356290780518 小时前
使用 C# 在 Excel 中创建数据透视表
后端·python
码路飞10 小时前
FastMCP 实战:一个 .py 文件,给 Claude Code 装上 3 个超实用工具
python·ai编程·mcp
dev派12 小时前
AI Agent 系统中的常用 Workflow 模式(2) Evaluator-Optimizer模式
python·langchain
前端付豪14 小时前
AI 数学辅导老师项目构想和初始化
前端·后端·python
用户03321266636714 小时前
将 PDF 文档转换为图片【Python 教程】
python
悟空爬虫16 小时前
UV实战教程,我啥要从Anaconda切换到uv来管理包?
python
dev派16 小时前
AI Agent 系统中的常用 Workflow 模式(1)
python·langchain
明月_清风18 小时前
从“能用”到“专业”:构建生产级装饰器与三层逻辑拆解
后端·python
曲幽1 天前
数据库实战:FastAPI + SQLAlchemy 2.0 + Alembic 从零搭建,踩坑实录
python·fastapi·web·sqlalchemy·db·asyncio·alembic