不废话了,直接上实验脚本:
#!/usr/bin/python
# coding=utf:8
# Python两种方法实现 变量拼接,也就是说假如 a=1 , b1=100 ,要使得 print b{a} = 100
#
# 在shell中实现方法:
# a=1
# b1=100
# result=`eval echo '$b'"$a"` 相当于 result=$b{$a},但是 $b{$a} 这样拼接变量显然是不正确的
# Python中第一种方法,利用namespace(作用域、命名空间)
scope = {}
exec "a1 = 5" in scope
exec "a2 = 10" in scope
exec "a3,a4 = 15,20" in scope
for num in xrange(1,5):
value = scope['a' + str(num)]
print "a%s : %s" % (num,value)
# Python中第二种方法,利用eval函数
b1 = 50
b2 = 100
b3 = 150
for num in xrange(1,4):
value = eval('b' + str(num))
print "b%s : %s" % (num,value)
运行结果如下图: