python如何运行源文件_Python如何运行
Python是一種解釋型語言,在執(zhí)行Python的時,解釋器將源代碼source code翻譯成字節(jié)碼byte code,然后byte code交給Python虛擬機PVM去執(zhí)行,整個流程如下圖所示:
byte code
1 字節(jié)碼翻譯
Python解釋器并不是每次都會將源代碼source code翻譯成字節(jié)碼byte code。比如,如果你沒有對源代碼做任何修改,那么,當你執(zhí)行python程序時,Python解釋器直接將字節(jié)碼交給Python虛擬機執(zhí)行,而跳過了源代碼翻譯成字節(jié)碼的步驟。在下面兩種情形下,Python解釋器會重新翻譯源代碼為字節(jié)碼:
1 源代碼被改變。Python解釋器會檢查源代碼與字節(jié)碼的時戳,如果發(fā)現(xiàn)源代碼被修改,那么就會重新翻譯。
2 Python版本改變。如果Python解釋器發(fā)現(xiàn)包含在字節(jié)碼里的版本信息與當前Python版本不匹配,也會重新翻譯。對于=Python3.2的Python實現(xiàn),字節(jié)碼文件名就包含了版本信息
2 字節(jié)碼的存儲位置
Python字節(jié)碼后綴"pyc"表示complied.py文件。對于=Python3.2的實現(xiàn),字節(jié)碼文件單獨放在一個__pycache__文件夾下,而__pycache__文件夾與源文件在同一個目錄,并且存放在__pycache__下的字節(jié)碼文件都包含Python的版本信息,比如script-33.pyc,表示當前字節(jié)碼是由Python3.3的實現(xiàn)翻譯而來。
PVM
Python虛擬機不需要單獨安裝,它是Python實現(xiàn)的一部分,本質上就是一個大的循環(huán),一句一句執(zhí)行著字節(jié)碼里面的代碼
總結
以上是生活随笔為你收集整理的python如何运行源文件_Python如何运行的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: bootstrap 右对齐样式_Boot
- 下一篇: 爬虫python能做游戏吗_一入爬虫深似