如何将函数转换为str?

时间:2017-05-26 17:05:10

标签: python serialization python-3.6

假设我有以下lambda函数。

fn = lambda x: print(x) 

如果我想将其转换为字符串

"lambda x: print(x)" 

我该怎么办? 我期待str(fn)str(fn.__code__)会这样做但不是真的...它只打印出类型,内存位置等。

我也尝试了pickle.dumps和json,但我无法得到我想要的东西。

如何将函数转换为显示函数定义的字符串?

---我想将函数作为输入并将其转换为字符串

1 个答案:

答案 0 :(得分:9)

如果您安装了莳萝,这很容易。 (pip install dill

from dill.source import getsource
squared = lambda x:x**2
print(getsource(squared))
相关问题