如何获得Python函数的源代码?

如何获得Python函数的源代码?

假设我有一个Python函数,定义如下:

def foo(arg1,arg2):
    #do something with args
    a = arg1 + arg2    return a

我可以使用foo.func_name..正如我在上面输入的那样,我如何以编程的方式获得它的源代码?


MMTTMM
浏览 1069回答 3
3回答

沧海一幻觉

如果函数来自文件系统上可用的源文件,那么inspect.getsource(foo)可能会有帮助:如果foo定义为:def foo(arg1,arg2):              #do something with args      a = arg1 + arg2              return a然后:import inspect lines = inspect.getsource(foo)print(lines)返回:def foo(arg1,arg2):              #do something with args      a = arg1 + arg2              return a但我认为,如果函数是从字符串、流或从编译文件中导入的,则无法检索其源代码。

天涯尽头无女友

dis如果源代码不可用,则为您的朋友:>>> import dis>>> def foo(arg1,arg2):...     #do something with args...     a = arg1 + arg2...     return a...>>> dis.dis(foo)   3           0 LOAD_FAST                0 (arg1)               3 LOAD_FAST                1 (arg2)               6 BINARY_ADD              7 STORE_FAST               2 (a)   4          10 LOAD_FAST                2 (a)              13 RETURN_VALUE
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python