我们在学习的时候喜欢去写代码,或者进行代码的测试,在源代码的查看的进行的不多。大概很多是写完就放在一边,如果不是下次需要使用,也不会知道写的是否正确,还有没有可以修改或者改进的地方。所以,对于源代码的查看还是很有必要的,我们需要从发现中找到一些问题,接下来小编就教大家用inspect查找python3源代码的方法。

举个例子,用BeautifulSoup做分析,现在我们导入了两个库import inspect

from bs4 import BeautifulSoup

重点来了,当想看源代码的时候,可以用inspect.getsourcelines(BeautifulSoup)

输出是(['class BeautifulSoup(Tag):\n',

'    """\n',

'    This class defines the basic interface called by the tree builders.\n',

'\n',

'    These methods will be called by the parser:\n',

'      reset()\n',

'      feed(markup)\n',

'\n',

'    The tree builder may call these methods from its feed() implementation:\n',

'      handle_starttag(name, attrs) # See note about return value\n',

'      handle_endtag(name)\n',

'      handle_data(data) # Appends to the current data node\n',

'      endData(containerClass=NavigableString) # Ends the current data node\n',

'\n',

'    No matter how complicated the underlying parser is, you should be\n',

"    able to build a tree using 'start tag' events, 'end tag' events,\n",

'    \'data\' events, and "done with data" events.\n',

'\n',

注释:太长了,我就截了一小段

如果你是用Python或者Notebook的话,inspect也可以查看你自己写的函数,用法和上面的一样。

但如果你是用terminal之类的Python编译,来查看自己定义的函数,则会引发IOError: could not get source code。

本篇小编用BeautifulSoup库带大家体验了一把查看源代码的感觉,查询过程中需要注意的地方也标注了出来,小伙伴们可不要出错了哦~更多Python学习指路:PyThon学习网教学中心。

python3源代码是什么_如何用inspect查找python3源代码?相关推荐

  1. python3如何安装模块_如何用pip为Python3安装模块

    Tornado 是一款轻量级的 Web 服务器框架.安装tornado到python3,介绍如何为python3安装模块.下面是学习啦小编跟大家分享的是如何用pip为Python3安装模块,欢迎大家来 ...

  2. linux安装python3.7的步骤_在Linux上安装Python3.7.1

    一.安装依赖环境 输入命令:yum -y install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readlin ...

  3. java html提取_如何用JAVA从HTML源代码中提取有用的文本信息?

    如将连接中的流读取出来方法:/** * 将网页上的数据流转成字符串 * * @param url * @return * @throws IOError */ public String getSou ...

  4. python图片找字_如何用python查找图像中的字母

    字母似乎总是在数字的末尾.如果这是真的,您可以采用更简单的方法:找到所有轮廓 创建边界框列表(即每个轮廓对应一个框) 确定哪一个是最右边的边界框 使用所有其他框的(x,y,width,height)信 ...

  5. python3.7.1使用_在不影响使用python3.7.1的功能的情况下,是否可以从python代码中删除所有的ufuture_uu语句?...

    您可以在不影响功能的情况下删除那些__future__导入,但是删除它们不是必需的,并且会停止与早期python版本的兼容性.在 此外,正如@deceze在评论中所暗示的那样,其他进口商品可能有所不同 ...

  6. windows python3 bz2怎么安装_正确地建造本地Python3,用bz2支持

    我正在尝试构建python3的本地版本(特别是python3.7,但是在3.6.6中也有同样的问题),但是在链接到一些C库和/或头时遇到了问题(至少我认为问题是这样的).在 我可以构建python3. ...

  7. python3 虚拟环境 pip 版本_【python知识】 - Python3之PIPENV虚拟环境及封装

    Python的封装是通过pyinstaller直接打包python环境下的所有第三方模块,不管是不是封装程序涉及到的模块通通都一股脑打包进来,造成封装后大小超出预计很多. Pipenv 是一款管理虚拟 ...

  8. python3.6基础知识_新手零基础学Python3.6入门知识笔记速来取,持续更新

    最近自己在学习Python与人工智能的课程,我把最近学习的课程内容发给大家,我用XMind整理一些知识点,算是比较完善的笔记,我考试复习都是看它,希望对大家有帮助,后期也会慢慢更新,可以关注我的公众号 ...

  9. python3 协程 写法_理解Python的协程(Coroutine)

    由于GIL的存在,导致Python多线程性能甚至比单线程更糟. GIL: 全局解释器锁(英语:Global Interpreter Lock,缩写GIL),是计算机程序设计语言解释器用于同步线程的一种 ...

最新文章

  1. GeoIP的使用 - PHP版
  2. Jboot 2.0.1 发布,新增基于 Fescar 的分布式事务支持
  3. av_interleaved_write_frame -22
  4. jms中activemq事务探讨
  5. myeclipse和输入法冲突的问题
  6. Microsoft Ajax Beta1 - 边学边用边补充 (Part 2 - DragDropList)
  7. 本特利监控卡件3500/42M/128229-01后模块
  8. Closest_Pair
  9. Driver class 'org.gjt.mm.mysql.Driver' could not be found, make sure the 'MySQL' driver (jar file)
  10. http 请求 405 错误,解决办法
  11. simscape动力学仿真注意事项
  12. Git从入门到放弃的Day10
  13. 教你如何上传代码到GitHub
  14. 数值分析学习(一)之交叉法(Bracketing Methods)求根
  15. 摄影基础之【**相机画幅、人眼视角范围**】
  16. OllyDBG 完美教程 ( 超强入门级 1)
  17. Linux下WPS相关命令——et,wps,wpp
  18. 机器学习基础--梯度下降(Gradient Descent)
  19. pvr图片格式转png--shell脚本
  20. 抛弃WinSCPnbsp;教你使用CuteFTP传输文件

热门文章

  1. python刷题+leetcode(第三部分)
  2. 安卓向服务器发送List数据
  3. WEB三大攻击之—XSS攻击与防护
  4. C++学习之路 | PTA乙级—— 1007 素数对猜想 (20分)(精简)
  5. 华为鸿蒙显示安卓,被谷歌除名,华为6月2日发布鸿蒙反击,开机界面已流出!...
  6. debconf-set-selections mysql_docker 静默安装mysql
  7. ug编程内公差和外公差是什么_工厂老师傅自学数控编程多年心得,希望你们少走弯路...
  8. LwIP应用开发笔记之七:LwIP无操作系统HTTP服务器
  9. Notepad++中的UTF-8无BOM格式编码
  10. python中textinput_python – 在Kivy应用程序中获取textinput值