为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

MMTTMM 2019-06-24 15:38:02
如何获得Python函数的源代码?假设我有一个Python函数,定义如下:def foo(arg1,arg2):     #do something with args     a = arg1 + arg2    return a我可以使用foo.func_name..正如我在上面输入的那样,我如何以编程的方式获得它的源代码?
查看完整描述

3 回答

?
沧海一幻觉

TA贡献1824条经验 获得超5个赞

如果函数来自文件系统上可用的源文件,那么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

但我认为,如果函数是从字符串、流或从编译文件中导入的,则无法检索其源代码。


查看完整回答
反对 回复 2019-06-24
?
天涯尽头无女友

TA贡献1831条经验 获得超9个赞

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


查看完整回答
反对 回复 2019-06-24
  • 3 回答
  • 0 关注
  • 1068 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信