Python是一門編程語言,但是從目前的實現來講,Python也是一個名為解釋器的軟件包,解釋器是一種讓其他程序運行起來的程序,當你編寫了一段Python程序,Python解釋器將讀取程序,並且按照其中的命令執行,得出結果。
Python解釋器是代碼與機器的計算機硬件之間的軟件邏輯層。當Python包安裝在機器上后,它包含一些最小化的組件:一個解釋器和支持的庫。
根據使用情況的不同,Python解釋器可能采取可執行程序的形式,或是作為鏈接到另一個程序的一些列庫。根據選用的Python版本不用,解釋器本身可以用C語言實現,或者Java類實現,或者其他形式。無論采取何種形式,編寫的Python代碼必須在解釋器中運行。
一、python解釋器工作原理
操作系統位於計算機硬件與應用軟件之間是一個協調、管理、控制計算機硬件資源與軟件資源的控制程序。操作系統的功能為:控制硬件、把對硬件復雜的操作封裝成優美簡單的接口(文件),給用戶或者應用程序去使用。我們以后開發的都是應用程序,應用程序無法直接操作硬件,但凡要操作硬件,都是調用操作系統的接口。
編程語言分為:
機器語言:
直接用二進制編寫程序
優點:程序執行效率高
缺點:開發效率低
匯編語言:
用英文標簽去代替二進制指令,本質還是再直接操作硬件
優點:相對於機器語言的開發效率要高
缺點:執行相對於機器語言要低
高級語言:
高級語言就是直接用人能理解的語言跟風格來編寫程序,程序員無需再去考慮復雜的硬件操作
問題是我們用高級語言編寫的程序歸根結底還是要給計算機去執行,這就涉及到一個翻譯的過程,要把人用高級語言編寫的程序翻譯成計算機所能理解的二進制指令去執行,按照翻譯方式的不同,可以分為2類,如下:
執行效率再快也要受限於網速,於是我們現階段需要優先考慮就是開發效率
執行Python程序有2種方式:
(1)交互式
優點:調試程序
缺點:無法永久保存代碼
(2)命令行的方式
python3 D:\p1.py
優點:可以永久保存代碼
python解釋器執行程序的三個階段
Python解釋器執行程序的三個階段,例如執行(python3 D:\test.py)
第一步:先啟動python3解釋器
第二步:Python3解釋器就像一個文本編輯器一樣將文件python3 D:\test.py從硬盤讀入內存
第三步:Python3解釋器解釋執行文件代碼,只有這步才識別python語法
二、3種Python解釋器
1.CPython
當我們從Python官方網站上下載並安裝好Python 2.7后,我們就直接獲得了一個官方版本的解釋器:Cpython這個解釋器是用C語言開發的,所以叫CPython。在命令下運行Python就是啟動CPython解釋器,CPython是使用最廣泛的Python解釋器。教程的所有代碼都是在CPython下執行。
2.JPython
JPython是運行在Java平台上的Python解釋器,可以直接把Python編譯成Java字節碼執行。
3.PyPy
PyPy是另一個Python解釋器,它的目標是執行速度。PyPy采用JIT技術,對Python代碼進行動態編譯(注意不是解釋),所以可以顯著提高Python代碼的執行速度。絕大部分Python代碼都可以在PyPy下運行,但是PyPy和CPython有一些是不同的,這就導致相同的Python代碼在兩種解釋器下執行可能會有不同的結果。
4.IronPython
目的是讓Python程序可以與Windows平台的.net框架以及與之對應的Linux上開源的Mono編寫成的應用相集成