python 使用字符串生成变量以及使用字符串生成运算

        在某次使用python计算数据时,需要不断修改计算公式,同时随着计算公式的变化,计算公式中的变量名也发生了变化,为了便于自动修改计算公式,将计算公式使用了字符串来表示,使用脚本来修改字符串。难点在如何将字符串转为计算公式,以及字符串中变量的生成和修改。下面是代码测试及说明。

a = ["d","b","c"]
locals()[a[0]] = 12
h = 'd*2'
c = eval(h)
print(d)
print(c)

        该代码中使用列表a来保存变量名,使用locals()函数将字符串转为变量并赋值。使用字符串h来保存计算公式,使用eval()函数来将字符串转为计算公式并计算。

使用字典来保存变量名和变量值的方法:

方法1

int_dict = {'x': 10, 'y': 20}
vars().update(int_dict)
d = 'x*y'
f = eval(d)

print(x)  # 输出: 10
print(y)  # 输出: 20
print(d)  # 输出: x*y
print(f)  # 输出: 200

方法2

int_dict = {'x': 10, 'y': 20}
int_name_list = list(int_dict.keys())
for int_name in int_dict.keys():
    index = int_name_list.index(int_name)
    locals()[int_name_list[index]]= int_dict[int_name]
d = 'x*y'
f = eval(d)
print(x)  # 输出: 10
print(y)  # 输出: 20
print(d)  # 输出: x*y
print(f)  # 输出: 200

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值