當 Python 在讀入程式碼的時候, 第一步就是對程式碼 lexing,將程式碼拆解成 token,標記出每個元素的分類為何。 以下面的程式碼為例: [crayon-63d8e71971d9c300002409/] 我們透過 tokenize module 來分析,會變成: [crayon-63d8e71971da2081252030/] 我們可以看到 foo 被標記為 NAME,= 標記為 OP …
標籤: CPython
你可曾想過這段 Python 程式碼是如何運作的? [crayon-63d8e719722ee075911483/] Python 作為 interpreted language,其運作可以分為兩個大項,Compiler 以及 Virtual Machine。Compiler 負責將輸入的語法做分析,轉換成 AST (Abstract Syntax Tree),再轉換成 CFG,最後依照 CFG 輸 …