Python:如何将变量用作字符串?

标签 python django

假设我有这样的变量:var1、var2、var3、var4、var 5、...、var100(列表和字典不适合我的情况,因为所有这些变量都是类对象)。

我必须以类似的方式处理它们,例如:

if var1:
    print 'var1 is not None'
if var2:
    print 'var2 is not None'
if var3:
    print 'var3 is not None'
...
if var100:
    print 'var100 is not None'

这样我就写了20000行代码...

但也许有一些方法可以在 for 语句中处理所有这些,例如:

for i in range(1,101):
    if var%s % i: #I know this is not right, but idea is understood
        print 'var%s is not None' % i

所以我只会写 3 行代码。

可以用 Python 做吗?

谢谢!

最佳答案

locals() 返回局部变量字典。同样,globals() 返回一个全局变量字典。您可以在其中一个变量中找到变量及其值,具体取决于变量的定义位置。

for i in range(1,101):
    if ('var%s' % i) in locals():
        print 'var%s is not None' % i
        print locals()['var%s' % i]

关于Python:如何将变量用作字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8281455/

相关文章:

python - 元组的列表理解为我提供了一个生成器 - 为什么以及如何修改?

python - CherryPy - 使用直接下载还是我的发行版?

c++ - 将python字典翻译成C++

Django:将数据发送到服务器而不呈现新模板

python - Django generics.ListAPIView 接受 POST 方法

python int 没有 __iadd__() 方法?

python - 从csv读取列表,len只显示一项

python - 直接在你的 Django 应用程序中访问 ._meta 是否安全?

django - 为数据库中的每个 celery 任务存储一个任务 ID

python - 导入错误 : No module named openerp