天天看點

什麼是位元組碼?python位元組碼詳細介紹!

  學習Python的過程中,大家經常聽到的就是Python源碼檔案,其實還有另外一種類型的檔案,那就是Python位元組碼。那麼你知道什麼是Python位元組碼嗎?如何使用python位元組碼工作呢?如何通路和了解Python位元組碼呢?我們一起來看看吧。

  如何使用python位元組碼工作?

  Python經常被稱為是一種解釋型語言 -- 一種源代碼在程式運作時被即時翻譯成原生CPU指令的語言 - 但這隻說對了一部分。與其他許多解釋型語言一樣,Python實際上将源代碼編譯為一組虛拟機指令,Python的解釋器就是該虛拟機的一個具體實作。這種跑在虛拟機内部的中間格式被稱為“位元組碼”。

  是以,Python留下的.pyc檔案不僅僅是源代碼的一個更快或優化版本; 實際上,它們是在程式運作時由Python的虛拟機來執行的位元組碼指令。

  Python虛拟機内部

  CPython使用的是基于棧的虛拟機。也就是說,它完全圍繞着棧資料結構來運作(您可以将一項内容“壓入”棧,放到棧結構的“頂部”,或者從棧“頂部”“彈出”一項内容)。

  如何通路和了解Python位元組碼呢?

  dis子產品為Python位元組碼提供了一個反彙程式設計式,進而可以輕松擷取人為可讀的版本并查找各種位元組碼指令。dis子產品的文檔涵蓋了相關内容,并提供了位元組碼指令以及它們的作用和參數的完整清單。