【发布时间】:2019-12-27 09:35:47
【问题描述】:
我想知道是否有办法获取以下 lambda 函数的代码:
a = {"test": lambda x: x + 123, "test2": lambda x: x + 89}
有没有办法点赞
print(getsource(a["test"])
返回:
lambda x: x + 123
我已经知道 inspect 和 dill getsource 函数,但以下代码:
import inspect
import dill
if __name__ == "__main__":
a = {"test": lambda x: x + 123, "test2": lambda x: x + 89}
print(inspect.getsource(a["test"]))
print(dill.source.getsource(a["test"]))
返回:
a = {"test": lambda x: x + 123, "test2": lambda x: x + 89}
a = {"test": lambda x: x + 123, "test2": lambda x: x + 89}
【问题讨论】:
-
a["test"]没有给你lambda函数的代码吗? -
嗨,谢谢你的回复,很遗憾没有,我只得到:
at 0x000000000204C1E0> -
您到底在寻找什么?
lambda x: x +123作为字符串? -
是的,我想将 lambda 函数定义打印为字符串。
-
这能解决您的问题吗? stackoverflow.com/a/30984012/8268531