我可以执行作为字符串传递的lambda函数

时间:2016-05-19 10:23:26

标签: python

考虑一个代表lambda函数的字符串

fn = "lambda x: x+10"

我需要做这样的事情,

map (fn,xrange(10))

如何从python中的字符串中获取代码/函数?

1 个答案:

答案 0 :(得分:5)

你可以eval那个字符串,但我不推荐它。

>>> f = eval("lambda x: x+10")
>>> f(3)
13

eval是不安全的,所以我强烈建议您在上游解决问题,为什么你首先要有一个字符串?但从技术上讲,是的,eval就是答案。