首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Python源码剖析

作为主流的动态语言,Python不仅简单易学、移植性好,而且拥有强大丰富的库的支持。...此外,Python强大的可扩展性,让开发人员既可以非常容易地利用C/C++编写Python的扩展模块,还能将Python嵌入到C/C++程序中,为自己的系统添加动态扩展和动态编程的能力。....为了更好地利用Python语言,无论是使用Python语言本身,还是将Python与C/C++交互使用,深刻理解Python的运行原理都是非常重要的。...本书以CPython为研究对象,在C代码一级,深入细致地剖析Python的实现。书中不仅包括了对大量Python内置对象的剖析,更将大量的篇幅用于对Python虚拟机及Python高级特性的剖析。...本书适合于Python程序员、动态语言爱好者、C程序员阅读

1.1K10

Python源码剖析之整数对象

utm_source=qq&utm_medium=social ❈ 在《Python源码剖析》中,Python的版本为2.5,而在Python3中,前面提到,int类型的底层实现是Python2中的long...所以,我会在本章中,先介绍Python2源码中int类型的实现,再在最后介绍一下Python3.6中int(也就是以前的long)在底层的实现。之所以这样做的原因后面会解释。...这样的分法对我们理解Python源码有帮助,但在Python语言的层面上,我们通常还使用一种二分法,即根据对象维护数据的可变性将对象分为可变对象(mutable)和不可变对象(immutable)。...这时候,Python选择了另一种策略。 大整数对象 Python的设计者的策略是:对于小整数对象,直接把它们全部缓存在对象池中。...Python3中int的实现 int即long 我们在之前提到,在Python3中int底层实现就是以前Python2中的long类型。

1.4K80
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Java集合源码剖析——ArrayList源码剖析

    ArrayList源码剖析 ArrayList的源码如下(加入了比较详细的注释): package java.util; public class ArrayList extends...它有很多个重载的方法,但实现思路都是一样的,我们来看泛型版本的源码: public static T[] copyOf(T[] original, int newLength) {...该方法被标记了native,调用了系统的C/C++代码,在JDK中是看不到的,但在openJDK中可以看到其源码。...该方法可以直接将ArrayList转换得到的Array进行整体向下转型(转型其实是在该方法的源码中实现的),且从该方法的源码中可以看出,参数a的大小不足时,内部会调用Arrays.copyOf方法,该方法内部创建一个新的数组返回...6、在查找给定元素索引值等的方法中,源码都将该元素的值分为null和不为null两种情况处理,ArrayList中允许元素为null。

    75420

    【Java集合源码剖析】ArrayList源码剖析

    ArrayList源码剖析     ArrayList的源码如下(加入了比较详细的注释): [java] view plaincopy package java.util;    ...=0; i<size; i++)                 a[i] = s.readObject();         }     }   几点总结     关于ArrayList的源码...该方法被标记了native,调用了系统的C/C++代码,在JDK中是看不到的,但在openJDK中可以看到其源码。...该方法可以直接将ArrayList转换得到的Array进行整体向下转型(转型其实是在该方法的源码中实现的),且从该方法的源码中可以看出,参数a的大小不足时,内部会调用Arrays.copyOf方法,该方法内部创建一个新的数组返回...6、在查找给定元素索引值等的方法中,源码都将该元素的值分为null和不为null两种情况处理,ArrayList中允许元素为null。

    51030

    Koa 源码剖析

    Koa 源码剖析 本文主要从源码的角度来讲述 Koa,尤其是其中间件系统是如何实现的。...跟 Express 相比,Koa 的源码异常简洁,Express 因为把路由相关的代码嵌入到了主要逻辑中,因此读 Express 的源码可能长时间不得要领,而直接读 Koa 的源码几乎没有什么障碍。...Koa 的主要代码位于根目录下的 lib 文件夹中,只有 4 个文件,去掉注释后的源码不到 1000 行,下面列出了这 4 个文件的主要功能。...我们逐步来看上面三个步骤在源码中的实现。 首先是类和构造函数的定义,这部分代码位于 application.js 中。...事实上,如果读者去读 Koa-router 或者 Koa-static 的源码,也会发现它们都是使用 return next 方法。 5.

    1K10

    Python猫荐书系统之四:《Python源码剖析

    先来看看今天的主角是谁:《Python源码剖析——深度探索动态语言核心技术》,2008年出版,作者 @陈儒 ,评分8.7分。 ? 是的,你没看错,出版年份2008年。...一个巧合,一份期待 在写第一篇荐书《编写高质量代码改善 Python 程序的 91 个建议》的时候,我偶然发现知乎上有人提及,说 @赖勇浩 大大正在接手这本源码剖析的新版本编写,很多人留言说期待。...书中不仅包括了对大量Python内置对象的剖析,更将大量的篇幅用于对Python虚拟机及Python高级特性的剖析。...——@膘 很好的讲解Python源码剖析的书籍,深入讲解了Python的各种特性是如何通过C语言实现的,对于想了解Python底层实现的程序员很有帮助,讲解的很详细,不过看底层C实现看多了也确实容易乏味...在中英文的Python书籍中,这本剖析源码的书籍,可能是绝无仅有的一本,就凭这点,怎么推荐都不为过。对于可能会很快上市的新书,则是怎么期待都不为过的。

    1.2K30

    Python源码剖析:深度探索Cpython对象-达观数据

    想要更深入的认识 Python,就需要了解 CPython 的源码实现。本文将从 CPython 的对象构造器开始入手,带大家揭开 CPython 源码的面纱,带你进入 C + Python 的世界。...一、为什么要学习 Python 源码Python 是一门上层语言,创建者通过有意设计来隐藏背后复杂的细节 (builtins)。...用户还可以通过自定义模块来扩展 Python 系统。解释器 Python Core - 又称 Python 虚拟机,对代码分析理解,翻译成字节流,并运行这些字节代码。...为了更好的研读源码,系统地了解这些 API 的组成结构是很有必要的,下面以 PyFloatObject 对象为例,通过源码的大致步骤了解它的两种创建过程。...通过进一步了解 CPython 动态性的实现方式,读者可望在阅读 CPython 源码后提升编写高质量代码的能力。

    28110
    领券