原文:《深度剖析CPython解釋器》23. 剖析Python中模塊的導入機制、Python是如何加載模塊的

楔子 上一篇我們介紹了生成器,本來這里應該介紹協程的,但是大致閱讀了一下,感覺如果從源碼的角度來介紹協程的話,工作量太大。而且個人精力有限,所以推薦我寫的這一篇博客:https: www.cnblogs.com traditional p .html,是用來介紹asyncio的,當然也從Python的角度介紹了Python中的協程。 這一次我們說一下Python模塊的加載機制,我們之前所考察的所有 ...

2020-09-06 06:30 3 630 推薦指數:

查看詳情

python解釋器源碼剖析》第15章--python模塊的動態加載機制

15.0 序 在之前的章節,我們考察的東西都是局限在一個模塊(在python中就是module)內。然而現實,程序不可能只有一個模塊,更多情況下一個程序會有多個模塊,而模塊之間存在着引用和交互,這些引用和交互也是程序的一個重要的組成部分。本章剖析的就是在python,一個模塊是如何加載 ...

Tue Jan 07 02:28:00 CST 2020 0 694
深度剖析CPython解釋器》13. 剖析Python的流程控制語句(if、for、while),以及異常捕獲機制

楔子 在上一章,我們介紹了Python虛擬機中常見的字節碼指令。但我們的流程都是從上往下順序執行的,在執行的過程沒有任何變化,但是顯然這是不夠的,因為怎么能沒有流程控制呢。下面我們來看看Python所提供的流程控制手段,其中也包括異常檢測機制Python虛擬機的if控制流 ...

Fri Aug 21 09:26:00 CST 2020 0 456
深度剖析CPython解釋器》10. Python的PyCodeObject對象與pyc文件

楔子 當我們想要執行一個py文件的時候,只需要python xxx.py即可,但是你有沒有想過這背后的流程是怎么樣的呢?從這里開始我們就開始進入到Python虛擬機的環節了,之前都是在介紹Python的一些內置對象,不過虛擬機的執行流程、以及背后的原理卻更是值得我們關注的。 這里我們先來 ...

Sat Aug 15 10:31:00 CST 2020 0 642
深度剖析CPython解釋器》28. Python內存管理與垃圾回收(第二部分):源碼解密Python的垃圾回收機制

楔子 現在絕大部分的語言都實現了垃圾回收機制,這其中也包括Python,而不同的語言采用的垃圾回收算法也各不相同。那么,常見的垃圾回收算法都有哪些呢? 引用計數法(reference count): 記錄對象的被引用次數, 引用計數降為0時回收 標記-清除法(mark-sweep ...

Sun Sep 20 07:55:00 CST 2020 6 947
深度剖析CPython解釋器》5. 解密Python的整數在底層是如何實現的,以及為什么Python中大整數的運算不會溢出

楔子 這次我們來分析一下Python的整數是如何實現的,我們知道Python的整數是不會溢出的,換句話說,它可以計算無窮大的數。只要你的內存足夠,它就能計算,但是對於C來說顯然是不行的,可Python底層又是C實現的,那么它是怎么做到整數不會溢出的呢? 既然想知道答案,那么看一下 ...

Wed Aug 05 08:29:00 CST 2020 6 1062
 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM