我想将x-> x ^ 2这样的函数表示为字符串 - 简单地做字符串(x-> x ^ 2)不起作用,有什么方法可以解决这个问题吗?
答案 0 :(得分:1)
您可以使用fun=eval(parse("x->x^2"))
从字符串创建函数,但据我所知,这是一个不可逆转的过程。
答案 1 :(得分:0)
仅仅因为某些东西有效,并不意味着它是一个解决方案......假设f
是匿名函数。使用f = x->x^2
。然后是以下内容:
join(map(strip,match(r"line \d*:\n(.*)\n",string(f.code)).captures),"\n")
给出:
return x ^ 2
可以使用f.code
中的正则表达式提取更多内容。另请注意,这不适用于非匿名函数。而且这不应该依赖于工作。也许其他一些实现功能的方法也是最好的。