如何将函数的python代码打印到终端?

如何将函数的python代码打印到终端?,python,function,terminal,Python,Function,Terminal,我有一个系统,在这个系统中,我不断地试验函数的内容,然后运行程序。因为我经常打开许多终端窗口,所以有时我不知道函数的哪个版本属于哪个终端窗口 是否有办法将特定功能的源代码打印到终端?好的。感谢Hoopdady,他在Stackoverflow上提供了一个类似的问题。只是为了给未来的读者提供解决方案。我需要使用inspect模块,使用它的方法“getsource”,我可以简单地将方法或函数的源打印到命令行 import inspect import mymodule print inspect.ge

我有一个系统,在这个系统中,我不断地试验函数的内容,然后运行程序。因为我经常打开许多终端窗口,所以有时我不知道函数的哪个版本属于哪个终端窗口


是否有办法将特定功能的源代码打印到终端?

好的。感谢Hoopdady,他在Stackoverflow上提供了一个类似的问题。只是为了给未来的读者提供解决方案。我需要使用inspect模块,使用它的方法“getsource”,我可以简单地将方法或函数的源打印到命令行

import inspect
import mymodule
print inspect.getsource(mymodule.sayHello)

谢谢你,爸爸

使用iPython,您只需执行
func???
即可获得任何类或函数的源代码。@Lie Ryan-谢谢您的建议。不幸的是,我使用的是一个独立的程序,我不能在交互式shell中使用它。此外,由于我不断地更改代码,我需要知道运行时的代码是什么,而不是在此之前或之后。因此,inspect.getsource()函数正是我所需要的。不过还是要谢谢你的建议!虽然我大体上同意
inspect
是一个很好的答案,但我不同意您不能获得在解释器中定义的对象的源代码。如果使用
dill.source.getsource
,则可以获取函数和lambda的源代码,即使它们是以交互方式定义的。它还可以从curries中定义的绑定或未绑定类方法和函数中获取的代码。。。但是,如果没有封闭对象的代码,您可能无法编译该代码。见: