我想要一本字典,它的值是一个语句。我不需要动态构建语句。语句中出现的名称在本地范围内。下面是一个简单的例子。似乎“exec”是应该使用的东西,但这似乎是不赞成的,而且可能是缓慢的。此代码将在随机建模器中使用,并将运行数百万次。你能建议我如何最好地实现这个想法(也许通过预编译?)。是不是我已经有这个权利了?你知道吗
干杯!你知道吗
杰夫
d={'plusone':'x+=1','minusone':'x-=1'}
x=2
exec(d['plusone'])
print x ::: output '3'
exec(d['minusone'])
print x ::: output '2'
假设您正在某个定义了
x
的范围内执行exec(d['plusone'])
,否则您将得到一个NameError
。你知道吗将callable放入
dict
并显式地传递它x
(并显式地赋值给x
)似乎要好得多:相关问题 更多 >
编程相关推荐