如何在Python中的一行中获取多个lambda的源代码

如何在Python中的一行中获取多个lambda的源代码,python,Python,现在我有一个链式函数调用,它类似于Pandas df.id.map(lambda x: x + 1).map(lambda y: y + 2) 在map函数中,我尝试获取lambda的源代码 我使用了inspect.getsource,但它只获取整行, 如何获得正确lambda函数的确切源代码?lambda函数的源代码位置实际上不会超过行粒度。(这导致了。)除非您想解析lambda表达式的源代码,并找出哪些表达式可以编译到您正在检查的lambda对象,如果您可以从标准lambda语法切换到标准

现在我有一个链式函数调用,它类似于Pandas

df.id.map(lambda x: x + 1).map(lambda y: y + 2)
map
函数中,我尝试获取lambda的源代码

我使用了
inspect.getsource
,但它只获取整行,
如何获得正确lambda函数的确切源代码?

lambda函数的源代码位置实际上不会超过行粒度。(这导致了。)除非您想解析lambda表达式的源代码,并找出哪些表达式可以编译到您正在检查的lambda对象,如果您可以从标准lambda语法切换到标准lambda语法,那么您就可以内置此功能,因为每个lambda表达式都可以打印。其他lambda表达式提供程序也是如此,比如SymPy

是的,我可以解析整行代码,并获取所有lambda函数,但我无法确定哪一个是我正在检查的实际lambda对象。如果
map
函数的逻辑取决于调用的顺序,也许可以发送可选的反参数。类似于-
df.id.map(lambda x:x+1,1).map(lambda y:y+2,2)
(更好的方法是添加一个计数器,并使用
counter++
)不断增加它)@Kamehameha似乎API对用户来说很糟糕