原文:《深度剖析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