Python總體架構

.無聊de熱水發表於2018-07-14

Python的整體架構可以分為三個主要的部分:
1.Python提供的大量的模組、庫以及使用者自定義的模組。
2.Python的執行時環境,包括物件/型別系統(Object/Type structures)、記憶體分配器(Memory Allocator)和執行時狀態資訊(Current State of Python)。
物件/型別系統:包含Python中存在的各種內建物件,int、list、dict等,以及使用者自定義的各種型別和物件。
記憶體分配器:負責Python中建立物件時,對記憶體的申請工作,實際上是Python執行時與C中malloc的一層介面。
執行時狀態:維護瞭直譯器在執行位元組碼時不同的狀態(正常狀態和異常狀態)之間的切換,有窮狀態機。
3.Python直譯器或稱為虛擬機器,包括Scanner詞法分析器,Parser語法分析器 ,Compiler編譯器,Code Evaluator虛擬機器。
Scanner:將輸入的Python原始碼或從命令輸入的Python程式碼分割成一個個的token。
Parser:在Scanner的分析結果上進行語法分析,建立抽象語法樹(AST)。
Compiler:根據建立的AST生成指令集合—-Python位元組碼(byte code),作用同Java、C#編譯器。
Code Evaluator:執行位元組碼。

《Python原始碼剖析》—-陳儒

相關文章