Python:加快重复执行的eval语句的方法?

Python:加快重复执行的eval语句的方法?,第1张

Python:加快重复执行的eval语句的方法?

您还可以欺骗python:

expression = "math.sin(v['x']) * v['y']"exp_as_func = eval('lambda: ' + expression)

然后像这样使用它:

exp_as_func()

速度测试:

In [17]: %timeit eval(expression)10000 loops, best of 3: 25.8 us per loopIn [18]: %timeit exp_as_func()1000000 loops, best of 3: 541 ns per loop

附带说明一下,如果

v
不是全局变量,则可以这样创建lambda:

exp_as_func = eval('lambda v: ' + expression)

称之为

exp_as_func(my_v)


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zaji/5646216.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-16
下一篇 2022-12-16

发表评论

登录后才能评论

评论列表(0条)

保存