假设我有这样的变量: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/