python 根据字符串动态的生成变量名并且赋值

Python 动态的创建变量

一、子符串的形式

这是在今天的一个项目中,发现需要动态的创建很多变量。每个变量对应的值的来源都相同。在网上看了些资料,研究出了这个动态创建变量的牛逼方法。

所用的方法就是:#exec 会把字符串两边的引号去掉

info_dict = {'create_time':'ct','user_id':'uid', 'cookie_id':'ci', 'product_name':'pn', 'product_version':'pv', 'device':'di'}
for i in info_dict.items():
    exec(i[0] + "='%s'" % i[1])

print create_time  #这里在打印时create_time必须全部写,不会提示。

二、赋值是整型的形式或其他的形式

para='wallace'
exec("%s = %d" % (para,2))
print wallace

li = [2,3,1]  #注意列表里面的值必须是整型,所以用处不大,其他数据类型一致
exec ('new_li' + "='%s'" % str(li))

print new_li

好了,这就是牛逼的exec

猜你喜欢

转载自www.cnblogs.com/wallacewang/p/9628667.html