本文目錄一覽:
小白科普:Python代碼是編譯執行還是解釋執行
python代碼是解釋執行的。
所謂編譯執行就是源代碼經過編譯器編譯處理,生成目標機器碼,即機器能直接運行的二進位代碼,下次運行時無需重新編譯。這種代碼不具備可移植性、但執行速度快,C、C++這類語言屬於編譯型語言。
解釋型語言是在代碼運行期間逐行翻譯成目標機器碼,下次執行時,還是需要逐行解釋,我們可以簡單認為 Java、Python 都是解釋型語言。
pyqt能將python編譯成機器碼嗎
默認通過PyQt設計的界面是沒有代碼的,只會生成為一個.ui的文件(D:\Programs\Python\Lib\site-packages\PyQt4\uic)。我們就是通過Python提供的工具將這個文件轉換為Python的腳本,具體方法如下:
在ui所在的文件夾下執行下面的命令:pyuic.py -O myGui.py myGui.ui
執行完命令後,會在該文件夾下生成myGui.py的腳本,如果要使用這個界面,在你的腳本中import之後就可以直接使用了。
python程序如何工作
隨著人工智慧時代的來臨,python成為了人們學習編程的首先語言。那麼,python程序怎麼運行的?我們下面來介紹下。
python程序執行原理
我們都知道,使用C,C++之類的編譯性語言編寫的程序,是需要從源文件轉換成計算機使用的機器語言,經過鏈接器鏈接之後形成了二進位可執行文件。運行該程序的時候,就可以二進位程序從硬碟載入到內存中並運行。
相關推薦:《Python教程》
但是對於Python而言,Python源碼不需要編譯成二進位代碼,它可以直接從源代碼運行程序。Python解釋器將源代碼轉換為位元組碼,然後把編譯好的位元組碼轉發到Python虛擬機(PVM)中進行執行。當我們運行Python程序的時候,Python解釋器會執行兩個步驟。
(1) 把源代碼編譯成位元組碼。編譯後的位元組碼是特定於Python的一種表現形式,它不是二進位的機器碼,需要進一步編譯才能被機器執行,這也是Python代碼無法運行的像C,C++一樣快的原因。如果Python進程在機器上擁有寫入許可權,那麼它將把程序的位元組碼保存為一個以.pyc為擴展名的文件,如果Python無法在機器上寫入位元組碼,那麼宇節碼將會在內存中生成並在程序結束時自動丟棄。在構建程序的時候最好給Python賦上在計算機上寫的許可權,這樣只要源代碼沒有改變,生成的.pyc文件可以重複利用,提高執行效率。
(2) 把編譯好的位元組碼轉發到Python虛擬機(PVM)中進行執行。PVM是Python Virtual Machine的簡稱,它是Python的運行引擎,是Python系統的一部分,它是迭代運行位元組碼指令的一個大循環,一個接一個地完成操作。
python .pyc是什麼文件
一、什麼是pyc文件?
pyc文件就是py程序編譯後得到的文件,是一種二進位文件。一般是這樣的:
pyc文件經過python解釋器最終會生成機器碼運行。所以pyc文件是可以跨平台部署的,類似Java的.class文件。如果py文件改變,也會重新生成pyc文件。
相關推薦:《Python視頻教程》
二、pyc文件怎麼生成的?
1、被當做模塊調用的時候會自動生成pyc文件。
一般是python腳本被當做模塊被其他腳本文件調用時,就會產生pyc文件,舉個例子:
如果你寫了一個腳本文件image.py是用來生成驗證碼的,如果你在index.py文件中想引用這個腳本的功能,就需要通過import導入image.py文件,然後,如果你運行index.py文件,那就會在image.py文件所在的路徑生成一個image.pyc文件。
2、對於py文件,可以執行下面命令來生成pyc文件。
3、通過代碼來生成pyc文件。
三、為什麼要生成pyc文件?
1、python為了提高運行效率也會進行編譯。
python是解釋型語言,運行的時候需要通過python解釋器編譯,所以先編譯出pyc文件後,可以節省編譯這一步的耗時時間。
2、不想讓源碼泄露。
因為py文件是可以直接看到源碼的,對於一般的商業公司來說,這有點不妙,因為pyc文件可以獨立於py文件,刪除py文件也不會出錯。這就是太好了,只需要編譯成pyc文件再發布出去就好了。
原創文章,作者:JAPUX,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/324797.html