原文:《深度剖析CPython解释器》3. Python的引用计数是什么?Python底层是如何管理对象的?

楔子 在上一篇中我们说到了Python中的对象在底层的数据结构,我们知道Python底层通过PyObject和PyTypeObject完成了C 所提供的对象的多态特性。在Python中创建一个对象,会分配内存并进行初始化,然后Python会用一个PyObject 来保存和维护这个对象,当然所有对象都是如此。因为指针是可以相互转化的,所以变量在保存一个对象的指针时,会将该指针转成PyObject 之 ...

2020-07-31 17:26 0 1161 推荐指数:

查看详情

深度剖析CPython解释器》4. 解密Python中最简单的对象--浮点数的底层实现

楔子 从现在开始,我们就来分析Python中常见的内置对象、以及对应的实例对象,看看它们在底层是如何实现的。但说实话,我们在前面几节中介绍对象的时候,已经说了不少了,不过从现在开始要进行更深入的分析。 除了对象本身,还要看对象支持的操作在底层是如何实现的。我们首先以浮点数为例,因为它是最简单 ...

Sun Aug 02 03:57:00 CST 2020 10 791
深度剖析CPython解释器》10. Python中的PyCodeObject对象与pyc文件

楔子 当我们想要执行一个py文件的时候,只需要python xxx.py即可,但是你有没有想过这背后的流程是怎么样的呢?从这里开始我们就开始进入到Python虚拟机的环节了,之前都是在介绍Python中的一些内置对象,不过虚拟机的执行流程、以及背后的原理却更是值得我们关注的。 这里我们先来 ...

Sat Aug 15 10:31:00 CST 2020 0 642
深度剖析CPython解释器》1. Python中一切皆对象,这里的对象究竟是什么?解密Python中的对象模型

Python中一切皆对象 关于Python,你肯定听过这么一句话:"Python中一切皆对象"。没错,在Python的世界里,一切都是对象。整型是一个对象、字符串是一个对象、字典是一个对象,甚至int、str、list等等,再加上我们使用class自定义的类,它们也是对象。 像int ...

Tue Jul 28 22:53:00 CST 2020 4 2144
深度剖析CPython解释器》22. 解密Python中的生成器对象,从字节码的角度分析生成器的底层实现以及执行逻辑

楔子 下面我们来聊一聊Python中的生成器,它是我们理解后面协程的基础,生成器的话,估计大部分人在写程序的时候都想不到用。但是一旦用好了,确实能给程序带来性能上的提升,那么我们就来看一看吧。 生成器 基本用法 我们知道,一个函数如果它的内部出现了yield关键字,那么它就不再是普通的函数 ...

Sun Sep 06 08:55:00 CST 2020 4 301
深度剖析CPython解释器》7. 解密Python中字符串的底层实现,以及相关操作

楔子 这一次我们分析一下Python中的字符串,首先Python中的字符串是一个变长对象,因为不同长度的字符串所占的内存空间是不一样的;但同时字符串又是一个不可变对象,因为一旦创建就不可以再修改了。 而Python中的字符串是通过unicode来表示的,因此在底层对应的结构体 ...

Sat Aug 08 07:44:00 CST 2020 13 769
 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM