如何检索Python函数的源代码
有时我们想知道某些函数的源代码是什么样子或它们在哪里,或者我们需要将源代码作为字符串进行操作。 在这种情况下,我们需要一种方便的方法来检索Python函数的源代码。
inspect
是内置的标准库dill
是第三方库
检查
inspect
是一个内置库。 在计算机上安装Python之后,它已经存在。 inspect
模块提供了几个有用的功能,以帮助您获取有关活动对象的信息,例如模块,类,方法,函数,回溯,框架对象和代码对象。 在其众多功能中,其检索功能源代码的能力十分突出。
In [1]:
|
import pandas
|
In [3]:
|
source_DF = inspect . getsource ( pandas. DataFrame )
|
In [4]:
|
|
In [5]:
|
|
In [6]:
|
source_file_DF = inspect . getsourcefile ( pandas. DataFrame )
|
In [7]:
|
sourcelines_DF = inspect . getsourcelines ( pandas. DataFrame )
|
在IPython或Jupyter中 ,我们还可以使用此方法来检索在控制台中定义的函数的源代码。
In [9]:
|
def test ( x ) :
|
In [10]:
|
print ( inspect . getsourcefile ( test ) )
|
In [11]:
|
|
请注意,检索自定义函数的源代码仅在IPython或Jupyter中有效。 如果我们使用普通的Python并以交互方式定义函数,则会遇到错误IOError: could not get source code
,也将无法检索源代码。 这是因为其设置仅支持从文件加载的对象,而不支持交互式会话。
莳萝
dill
扩展了Python的pickle
模块,用于将Python对象序列化和反序列化为大多数内置的Python类型。 同时,它还可以检索Python对象的源代码。 请注意, dill
不是标准库,因此必须单独安装。
它的API与inspect
的非常相似。
In [6]:
|
import dill
|
但是, dill
和inspect
之间的最大区别是dill
的检索功能在普通的Python控制台中支持自定义对象。
翻译自: https://opensource.com/article/18/5/how-retrieve-source-code-python-functions
如何检索Python函数的源代码相关推荐
- python装饰器实例-Python函数装饰器--实例讲解
一.装饰器定义: 1.装饰器的本质为函数: 2.装饰器是用来完成被修饰函数的附加功能的 所以:装饰器是用来完成被修饰函数附属功能的函数 装饰器的要求: 1.不能修改被修饰函数的源代码: 2.不能更改被 ...
- python装饰器函数-Python函数装饰器常见使用方法实例详解
本文实例讲述了Python函数装饰器常见使用方法.分享给大家供大家参考,具体如下: 一.装饰器 首先,我们要了解到什么是开放封闭式原则? 软件一旦上线后,对修改源代码是封闭的,对功能的扩张是开放的,所 ...
- Python函数篇(5)-装饰器及实例讲解
1.装饰器的概念 装饰器本质上就是一个函数,主要是为其他的函数添加附加的功能,装饰器的原则有以下两个: 装饰器不能修改被修饰函数的源代码 装饰器不能修改被修改函数的调用方式 装饰器可以简单的理 ...
- 【Python】大神教你五分钟搞清楚Python函数的参数!
灵活的参数 Python函数的形参种类多,且具有很高的灵活性.我们经常遇到:位置参数.关键词参数.仅限关键字参数.仅限位置参数等等.如果概念没彻底搞清楚,使用起来就不那么顺手. " 提要:参 ...
- plpythonu_PostgreSQL PL/Python 函数
PL/Python 写的函数用通常的 CREATE FUNCTION 语法声明.比如: CREATE FUNCTION funcname (argument-list) RETURNS return- ...
- Python 函数3000字使用总结
今天是Python函数专题,目录结构: 很多人学习python,不知道从何学起. 很多人学习python,掌握了基本语法过后,不知道在哪里寻找案例上手. 很多已经做案例的人,却不知道如何去学习更加高深 ...
- 如何检测python是否安装_布同自制Python函数帮助查询小工具
比如在学习list.tuple.dict.str.os.sys等模组的时候,利用Python的自带文档可以很快速的全面的学到那些处理的函数.所以这个自带文档功能能够给出学者带来很大的方便之处,进行简短 ...
- python函数type的用意_Python内置函数Type()函数一个有趣的用法
Python内置函数Type()函数一个有趣的用法 今天在网上看到type的一段代码 ,然后查了一下文档,才知道type还有三个参数的用法. 以前只是知道type可以检测对象类型.然后发现了一个有趣的 ...
- VS2017 QT/C++ 调用python函数传图像
原文:VS2019 C++ 调用python函数/类对象的方法_ 蜗牛在听雨的博客-CSDN博客_c++调用python函数 1.c++调用python类(传图像参数) ,编译出错,解决方法: 因为需 ...
最新文章
- 枚举很好用啊,为啥阿里不建议返回值用枚举?
- linux多路径策略配置,linux 多路径配置
- bootstraptable设置行高度_条码打印软件中不干胶卷纸的标签设置方法
- BZOJ1935 园丁的烦恼
- VS2003 下GridControl的列显示成图片+文字的形式实现
- UA MATH567 高维统计II 随机向量11 kernel的构造 用内积替换反三角函数
- Python_基础_5
- P3573-[POI2014]RAJ-Rally【拓扑排序,二分+树状数组】
- WinForm控件之【LinkLabel】
- 进程与线程的区别与联系(经典面试题)
- CString转换成const char*
- 51 单片机AD采集电压值的坑
- visio2013激活教程
- Unity安装 ILRuntime插件
- jira权限设置-各个项目组查看不同项目
- 如何用Excel绘图好看的折线图
- 3D游戏建模:女性角色制作
- 一个字符串截取函数c语言
- TM卡 DS1990A读写程序
- fprintf函数的的用法