1. 前言
Python程式的代碼是如何組織的,在代碼完成撰寫后,又是如何運行的,它其中的原理是怎么回事,大家對這些問題一定很感興趣,
接下來,兔子先生帶著大家一探究竟,
2. Python的總體架構
從頂層設計上來看,Python可以分為三大部分:
File Groups代碼檔案 - 包括模塊、庫及用戶自定義的模塊,Interpreter解釋器 - 又稱Python虛擬機,對代碼分析理解,翻譯成位元組流,并運行這些位元組代碼,Runtime Env運行環境 - 包括運行時的物件、基礎型別結構、記憶體分配器和實時的運行狀態資訊,

3. File Groups
File Groups就是咱們的代碼,在Python的代碼的撰寫程序中,會包含自己撰寫的代碼模塊、依賴核心的模塊、第三方模塊和庫檔案(Linux下是so庫,而Windows下面則是dll庫)
比如下面一段代碼:
from datetime import date
now = date.today()
import requests
r = requests.get('https://www.xtuz.net')
其中 datetime 就是核心模塊, requests 則屬于第三方模塊,這段代碼本身就屬于用戶的自定義代碼模塊了,
4. Interpreter
Scanner 負責詞法分析的作業,將代碼一行一行切分為 token,Parser 則負責語法分析,將 Token 組織為抽象語法樹,Compiler 則將語法樹轉化為指令集合的位元組碼流,最后由 Code Evaluator 來執行這些位元組碼,
下圖是.pyc檔案內容,即位元組碼流,

5. Runtime Env
Object 和 Type Structure 分別是程式在運行程序中生成的物件和Python中的自帶內建物件,如int、List、dict等,
而 Memory Allocator 則負責申請創建物件需要的記憶體,本質就是封裝了 C 語言里面的 malloc() 函式,
Current State 負責維護運行時的各類狀態資訊,以便在程式執行程序中如果發生狀態變化(正常態和例外態)時,仍然能正常運行,
更多內容
查看原文 >>> Python原始碼剖析 - Python的總體架構
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/181818.html
標籤:Python
上一篇:Python學習筆記(四)字串
