15.0 序 在之前的章節中,我們考察的東西都是局限在一個模塊(在python中就是module)內。然而現實中,程序不可能只有一個模塊,更多情況下一個程序會有多個模塊,而模塊之間存在着引用和交互,這些引用和交互也是程序的一個重要的組成部分。本章剖析的就是在python中,一個模塊是如何加載 ...
. 序 這一章我們就來看看python中類是怎么實現的,我們知道C不是一個面向對象語言,而python卻是一個面向對象的語言,那么在python的底層,是如何使用C來支持python實現面向對象的功能呢 帶着這些疑問,我們下面開始剖析python中類的實現機制。另外,在python 中存在着經典類 classic class 和新式類 new style class ,但是到Python 中,經 ...
2019-12-23 14:35 4 592 推薦指數:
15.0 序 在之前的章節中,我們考察的東西都是局限在一個模塊(在python中就是module)內。然而現實中,程序不可能只有一個模塊,更多情況下一個程序會有多個模塊,而模塊之間存在着引用和交互,這些引用和交互也是程序的一個重要的組成部分。本章剖析的就是在python中,一個模塊是如何加載 ...
我閑來翻了翻幾年前就買的一本python的書,O'REILLY的【python學習手冊】,中譯版,很厚。 可惜,我看得非常少,這也是為什么我在簡歷上關於python頂天也就寫個熟悉,就這都擔心找虐。雖說java的學習價值更大,但是學了平時用不上,忘得快。再加上做題的時候,感覺還是用python ...
本系列是以陳儒先生的《python源碼剖析》為學習素材,所記錄的學習內容。不同的是陳儒先生的《python源碼剖析》所剖析的是python2.5,本系列對應的是python3.7,所以某些地方會和原著有出入,另外我在介紹的過程中會穿插大量的python代碼,不僅僅是介紹如何實現的,還會 ...
楔子 這一次我們就來剖析Python運行字節碼的原理,我們知道Python虛擬機是Python的核心,在源代碼被編譯成PyCodeObject對象時,就將由Python虛擬機接手整個工作。Python虛擬機會從PyCodeObject中讀取字節碼,並在當前的上下文中執行,直到所有的字節碼都被 ...
的手動維護內存的工作中解放出來。這一章我們就來分析python的GC是如何實現的。 17.1 內存管理架 ...
楔子 在上一章中,我們介紹了Python虛擬機中常見的字節碼指令。但我們的流程都是從上往下順序執行的,在執行的過程中沒有任何變化,但是顯然這是不夠的,因為怎么能沒有流程控制呢。下面我們來看看Python所提供的流程控制手段,其中也包括異常檢測機制。 Python虛擬機中的if控制流 ...
楔子 之前分析了那么久的虛擬機,多少會有點無聊,那么本次我們來介紹一個好玩的,看看如何修改 Python 解釋器的底層數據結構和運行時。了解虛擬機除了可以讓我們寫出更好的代碼之外,還可以對 Python 進行改造。舉個栗子: 是不是很有趣呢?通過 Python 內置的 ctypes 模塊 ...
的,當然也從Python的角度介紹了Python中的協程。 這一次我們說一下Python模塊的加載機制 ...