理解Python的解釋型與可移植

2021-07-25 17:23:12 字數 801 閱讀 3898

本文內容為《python學習手冊(第4版)》前3章的學習筆記。其中的所有內容均由書中內容整理所得。

mark lutz. python學習手冊(第4版)[m]. 機械工業出版社, 2009.

解釋型是指python**是通過python直譯器來將**」解釋」為計算機硬體能夠執行的晶元語言。而c編寫的**,則需要通過編譯->鏈結生成exe檔案才能變成計算機能執行的晶元語言。因此,python語言與c語言在轉換成晶元語言的方式有著本質的不同,而python語言的這種特性稱之為解釋型。

python直譯器

python直譯器在執行python的.py**前會進行兩步預處理:1是編譯成所謂的「位元組碼」;2是將其傳送至所謂的「虛擬機器」。

python直譯器通過將每一條源語句分解為單一步驟來將這些源語句翻譯成一組位元組指令。這些位元組碼可以提高執行速度:比起文字檔案中原始的源**語句,位元組碼的執行速度要快很多。

一旦程式編譯為位元組碼,位元組碼便會被傳送到python虛擬機器(python virtual machine,簡稱為python虛擬機器)中執行。

python可以跨操作平台執行,即python程式的核心語言和標準庫可以在linux、windows及其他帶有python直譯器的平台上無差別的執行。其原因有如下3個方面:

(1)python發行時自帶的標準庫和模組在實現上也都盡可能的考慮到了跨平台的可移植性。

(2)python程式自動編譯成可移植的位元組碼,這些位元組碼在已安裝相容版本的python上執行的結果是一樣的。

(3)python的標準實現是由可移植的ansi c編寫的。

Python動態強型別解釋型語言原理解析

python是一門動態解釋性的強型別定義語言 編寫時無需定義變數型別 執行時變數型別強制固定 無需編譯,在直譯器環境直接執行。動態和靜態 靜態語言 是指在編譯時變數的資料型別即可確定的語言,多數靜態型別語言要求在使用變數之前必須宣告資料型別。例如 c j a delphi c go等。動態語言 是在...

可剝奪型核心與不可剝奪型核心的區別

由於嵌入式系統只有乙個cpu,因此在乙個具體時刻只能允許多個任務中的乙個任務使用cpu。根據系統中的任務獲得使用cpu的權利的方式,多工實時作業系統的核心分為可剝奪型核心和不可剝奪型核心兩種型別。但無論在兩種型別的核心中,每一種任務都必須具有乙個唯一的優先級別來表示它獲得cpu的權利。不可剝奪型核心...

泛型與非泛型的區別及詳細解釋

1 簡介 我們都知道陣列是一組具有相同資料型別的資料的集合,在程式中可以儲存資料,但是陣列有乙個缺點,即當其中的元素初始化後,要在程式中動態的給陣列新增,或刪除某個元素是很困難的。那麼如何解決這個問題?net給我們提供了各種集合物件,如arraylist和hashtable。它們都可以很好的進行元素...