- Python程序設(shè)計(jì)案例課堂
- 劉春茂
- 357字
- 2020-11-28 15:11:20
1.6 Python是怎樣運(yùn)行的
Python是一種解釋執(zhí)行的語言,所以它運(yùn)行時(shí)首先需要一個(gè)解釋器,然后就是需要程序運(yùn)行時(shí)支持的庫,該庫包含一些已經(jīng)編寫好的組件、算法、數(shù)據(jù)結(jié)構(gòu)等。
那么Python是怎么運(yùn)行的呢?整個(gè)運(yùn)行過程大致分為以下3個(gè)步驟。
首先由開發(fā)人員編寫程序代碼,也就是編碼階段。
其次,解釋器將程序代碼編譯為字節(jié)碼,字節(jié)碼是以后綴為.pyc文件的形式存在,默認(rèn)放置在Python安裝目錄的_pycache_文件夾下,主要作用是提高程序的運(yùn)行速度,如圖1-18所示。

圖1-18 _pycache_文件夾
注意
一段代碼,會(huì)被編譯成字節(jié)碼放在_pycache_文件夾的緩存里面。下次再運(yùn)行該代碼時(shí),解釋器首先判斷該代碼是否改變過,如果沒有改變過,解釋器會(huì)從編譯好的字節(jié)碼緩存中調(diào)取后運(yùn)行,這樣就可以加快程序的運(yùn)行速度。
最后,解釋器將編譯好的字節(jié)碼載入一個(gè)Python虛擬機(jī)(Python Virtual Machine)中運(yùn)行。Python的整個(gè)運(yùn)行過程如圖1-19所示。

圖1-19 Python程序運(yùn)行過程
推薦閱讀
- AngularJS入門與進(jìn)階
- Java程序員面試算法寶典
- Python Geospatial Development(Second Edition)
- CouchDB and PHP Web Development Beginner’s Guide
- Learning Apache Kafka(Second Edition)
- Windows Server 2016 Automation with PowerShell Cookbook(Second Edition)
- 劍指MySQL:架構(gòu)、調(diào)優(yōu)與運(yùn)維
- SQL經(jīng)典實(shí)例(第2版)
- Unity 3D/2D移動(dòng)開發(fā)實(shí)戰(zhàn)教程
- 響應(yīng)式Web設(shè)計(jì):HTML5和CSS3實(shí)戰(zhàn)(第2版)
- MINECRAFT編程:使用Python語言玩轉(zhuǎn)我的世界
- 計(jì)算機(jī)應(yīng)用基礎(chǔ)項(xiàng)目化教程
- OpenCV 3計(jì)算機(jī)視覺:Python語言實(shí)現(xiàn)(原書第2版)
- 監(jiān)控的藝術(shù):云原生時(shí)代的監(jiān)控框架
- 算法圖解