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
相关推荐
踏着七彩祥云的小丑14 分钟前
pytest——Mark标记
开发语言·python·pytest
Dream of maid27 分钟前
Python12(网络编程)
开发语言·网络·php
W23035765731 小时前
经典算法:最长上升子序列(LIS)深度解析 C++ 实现
开发语言·c++·算法
Y4090011 小时前
【多线程】线程安全(1)
java·开发语言·jvm
不爱吃炸鸡柳1 小时前
Python入门第一课:零基础认识Python + 环境搭建 + 基础语法精讲
开发语言·python
minji...2 小时前
Linux 线程同步与互斥(三) 生产者消费者模型,基于阻塞队列的生产者消费者模型的代码实现
linux·运维·服务器·开发语言·网络·c++·算法
Dxy12393102162 小时前
Python基于BERT的上下文纠错详解
开发语言·python·bert
SiYuanFeng3 小时前
Colab复现 NanoChat:从 Tokenizer(CPU)、Base Train(CPU) 到 SFT(GPU) 的完整踩坑实录
python·colab
wjs20244 小时前
JavaScript 语句
开发语言