国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

【Python】查看函數的匯編指令

chnmagnus / 3335人閱讀

摘要:背景今天在看一篇介紹生成器的文章的時候無心插柳了解到一個很有趣的標準庫,可以用于查看函數的匯編指令,從而理解代碼的執行機制。相關技術,模塊代碼感想標準庫博大精深啊。

背景

今天在看一篇介紹Python生成器的文章的時候無心插柳了解到一個很有趣的Python標準庫dis,可以用于查看函數的匯編指令,從而理解Python代碼的執行機制。

相關技術

Python3, dis模塊

代碼
In [50]: dis(lambda x: x ** 2 if isinstance(x, int) else "Hello, {}".format(x) if isinstance(x, str)
    ...:  else "Unknown type.")
  1           0 LOAD_GLOBAL              0 (isinstance)
              3 LOAD_FAST                0 (x)
              6 LOAD_GLOBAL              1 (int)
              9 CALL_FUNCTION            2 (2 positional, 0 keyword pair)
             12 POP_JUMP_IF_FALSE       23
             15 LOAD_FAST                0 (x)
             18 LOAD_CONST               1 (2)
             21 BINARY_POWER
             22 RETURN_VALUE
        >>   23 LOAD_GLOBAL              0 (isinstance)
             26 LOAD_FAST                0 (x)
             29 LOAD_GLOBAL              2 (str)
             32 CALL_FUNCTION            2 (2 positional, 0 keyword pair)
             35 POP_JUMP_IF_FALSE       51
             38 LOAD_CONST               2 ("Hello, {}")
             41 LOAD_ATTR                3 (format)
             44 LOAD_FAST                0 (x)
             47 CALL_FUNCTION            1 (1 positional, 0 keyword pair)
             50 RETURN_VALUE
        >>   51 LOAD_CONST               3 ("Unknown type.")
             54 RETURN_VALUE
感想

Python標準庫博大精深啊。

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/38141.html

相關文章

  • 重學計算機組成原理(四)- 玩玩紙帶編程

    摘要:匯編器是怎么把對應的匯編代碼,翻譯成為機器碼的。總結打孔卡,其實就是一種存儲程序型計算機。推薦閱讀了解的指令集參看計算機組成與設計軟硬件接口第版的小節參考深入淺出計算機組成原理 你在學寫程序的時候,有沒有想過,古老年代的計算機程序是怎么寫出來的?showImg(https://ask.qcloudimg.com/http-save/1752328/fpfs9776q8.png); 當...

    lentrue 評論0 收藏0
  • 程序編譯和預處理

    摘要:總結上面的過程中,我們已經將源程序經過預處理編譯匯編階段變成了二進制代碼,這三個過程我們都是用兩種方法完成的,一種是參數的方法,另一種是使用系統默認的預處理器,編譯器,匯編器。 目錄 1. 程序的翻譯環境和執行環境 2. 詳解編譯+鏈接 2.1 翻譯環境 2.2 編譯本身也分為幾個階段: ?...

    CarlBenjamin 評論0 收藏0
  • 【PHP7源碼分析】PHP7語言執行原理

    摘要:在中,源代碼首先將進行詞法分析,將源代碼切割為多個字符串單元,分割后的字符串稱之為。圖以為例解釋型語言的執行示意圖第步源碼通過詞法分析得到第步基于語法分析器生成抽象語法樹第步抽象語法樹轉換為指令集合,解釋執行。 順風車運營研發團隊 李志 發表在程序人生 公眾號我們常用的高級語言有很多種,比較出名的有CC++、Python、 PHP、Go、Pascal等。而這些語言根據運行的方式不同,...

    VEIGHTZ 評論0 收藏0
  • Linux環境基礎開發工具使用

    摘要:按恢復剛剛的撤銷。按將光標所在位置開始往后的個字刪除,并進入插入模式。跳至指定的行列出光標所在行的行號。退出,如果無法離開,可在后面跟一個表示強制退出。和默認生成的二進制程序是動態鏈接的,可以使用指令查看。 ...

    yintaolaowanzi 評論0 收藏0
  • C語言進階:程序預處理

    摘要:程序預處理本章節研究的是,源代碼文件是如何一步步得到一個可執行程序的。如的語句被稱為預處理指令,還有注釋文本的刪除,都在此階段完成替換。目的是能夠將所有文件中的代碼組合到一起成一個完整的程序。終止程序可以正常也可以意外終止程序。 ...

    gxyz 評論0 收藏0

發表評論

0條評論

最新活動
閱讀需要支付1元查看
<