原文:《深度剖析CPython解释器》21. Python类机制的深度解析(第五部分): 全方位介绍Python中的魔法方法,一网打尽

楔子 下面我们来看一下Python中的魔法方法,我们知道Python将操作符都抽象成了一个魔法方法 magic method ,实例对象进行操作时,实际上会调用魔法方法。也正因为如此,numpy才得以很好的实现。 那么Python中常见的魔法方法都有哪些呢 我们按照特征分成了几类,下面就来看看魔法方法都有哪些,然后再举例说明它们的用法。 魔法方法概览 我们根据不同的特征分为了以下几类: 注意:有的 ...

2020-09-03 23:28 0 512 推荐指数:

查看详情

深度剖析CPython解释器》19. Python机制深度解析(第三部分): 自定义的底层实现、以及metaclass

楔子 Python除了给我提供了很多的之外,还支持我们定义属于自己的,那么Python底层是如何做的呢?我们下面就来看看。 自定义class 老规矩,如果想知道底层是怎么做的,那么就必须要通过观察字节码来实现。 通过之前对函数机制的分析,我们知道对于一个包含函数定义的Python ...

Tue Sep 01 08:58:00 CST 2020 0 469
深度剖析CPython解释器》18. Python机制深度解析(第二部分): 的多继承与属性查找

楔子 这次我们来看一下Python的继承与属性查找机制,我们说Python是支持的多继承的,在查找属性的时候会沿着继承链不断找下去。那么下面我们就来深入地考察一下的继承与属性查找在底层是如何实现的。 深入class 我们知道Python里面有很多以双下划线开头、双下划线结尾的方法 ...

Mon Aug 31 02:44:00 CST 2020 4 497
深度剖析CPython解释器》20. Python机制深度解析(第四部分): 实例对象的创建、以及属性访问

楔子 介绍对象之后,我们来介绍实例对象。我们之前费了老鼻子劲将对象剖析了一遍,但这仅仅是万里长征的第一步。因为Python虚拟机执行时,在内存中兴风作浪的是一个个的实例对象,而对象只是幕后英雄。 通过class对象创建实例对象 我们还以之前的代码为例: 看一下它的字节码 ...

Thu Sep 03 07:04:00 CST 2020 4 474
深度剖析CPython解释器》15. Python函数机制深度解析(第二部分): 函数在底层是如何被调用的

楔子 在上一篇博客,我们说了Python函数的底层实现,并且还演示了如何自定义一个函数,虽然这在工作没有太大意义,但是可以让我们深刻理解函数的行为。此外我们还介绍了如何获取函数的参数,而这一次我们就来看看函数如何调用的。 函数的调用 我们以一个非常简单的函数为例,看看它的字节码 ...

Sat Aug 29 07:07:00 CST 2020 4 558
深度剖析CPython解释器》28. Python内存管理与垃圾回收(第二部分):源码解密Python的垃圾回收机制

楔子 现在绝大部分的语言都实现了垃圾回收机制,这其中也包括Python,而不同的语言采用的垃圾回收算法也各不相同。那么,常见的垃圾回收算法都有哪些呢? 引用计数法(reference count): 记录对象的被引用次数, 引用计数降为0时回收 标记-清除法(mark-sweep ...

Sun Sep 20 07:55:00 CST 2020 6 947
深度剖析CPython解释器》25. 解密Python的多线程(第一部分):初识GIL、以及多个线程之间的调度机制

楔子 这次我们来说一下Python的多线程,在上篇博客我们说了Python的线程,我们说Python的线程是对OS线程进行了一个封装,并提供了一个线程状态(PyThreadState)对象,来记录OS线程的一些状态信息。 那什么是多线程呢?首先线程是操作系统调度cpu工作的最小单元,同理 ...

Fri Sep 11 09:30:00 CST 2020 0 503
 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM