首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >查找内置Python函数的源代码?

查找内置Python函数的源代码?
EN

Stack Overflow用户
提问于 2011-12-23 03:02:09
回答 8查看 144K关注 0票数 187

有没有办法了解python中内置函数是如何工作的?我的意思不仅是如何使用它们,还包括它们是如何构建的,排序枚举等后面的代码是什么?

EN

回答 8

Stack Overflow用户

回答已采纳

发布于 2011-12-23 03:06:01

因为Python是开源的,所以你可以阅读source code

要找出特定模块或函数是在哪个文件中实现的,通常可以输出__file__属性。或者,您也可以使用inspect模块,请参阅inspect文档中的Retrieving Source Code一节。

对于内置的类和方法,这就不那么简单了,因为inspect.getfileinspect.getsource将返回一个类型错误,声明对象是内置的。但是,许多内置类型都可以在Objects sub-directory of the Python source trunk中找到。例如,有关enumerate类的实现,请参见here;有关list类型的实现,请参见here

票数 174
EN

Stack Overflow用户

发布于 2014-11-15 22:56:37

这是一个补充@Chris' answer的食谱答案,CPython已经转移到GitHub,Mercurial存储库将不再更新:

如果necessary.

  • git clone https://github.com/python/cpython.git

  • Code将签出到名为cd cpython

  • Let's print()...

  • egrep --color=always -R 'print' | less -R

  • Aha!的子目录,
  1. 安装print()...
  2. egrep --color=always -R 'print' | less -R
  3. Aha!说我们正在查找Git的定义请参见Python/bltinmodule.c -> builtin_print()

好好享受吧。

票数 42
EN

Stack Overflow用户

发布于 2017-11-19 05:36:09

我必须稍微挖掘一下才能找到下面的Built-in Functions的来源,因为搜索会产生成千上万的结果。(祝你好运,搜索其中的任何一个,以找到它的来源)

无论如何,所有这些函数都是在以builtin_{functionname}开头的bltinmodule.c函数中定义的

内置源:https://github.com/python/cpython/blob/master/Python/bltinmodule.c

对于内置类型:https://github.com/python/cpython/tree/master/Objects

票数 31
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8608587

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档