python里生成动态变量和如何使用动态变量

最近在做一个小的程序,想用sympy处理传入的字符串公式和一串变长的参数值,生成一系列的值。

在给公式赋值时,碰到了一个问题,sympy需要先定义好符号的变量。而符号的变量在写作函数时是不清楚的,如下图:

x, y = symbols('x y')
expr = (x + y)*2*y+y**2

x和y均为符号变量,是由变长参数值确定的。有可能别的计算式需要传入5个符号变量,那我就要列x,y,z,m,n了。如何动态生成变量呢。经过查找,发现可以使用locals函数。废话不多说:

tmp_local = locals()
	
#根据传入的参数值生成参sympy的参数
for key in paramers.keys():
	tmp_local[key] = symbols(key)

这里tmp_local是一个局部变量的字典,这样一来就可以实现动态的设置变量了。

那如何使用这个动态生成的变量呢?如何给这个动态变量赋值呢?上面也提到了,tmp_local是一个字典,我们可以直接通过键来进行访问和赋值操作。如下:

tmp_local['y'] = 'z676'
print(tmp_local['y'])

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值