1. 50個關(guān)于IPython的使用技巧,進(jìn)一步提升開發(fā)效率

        共 3988字,需瀏覽 8分鐘

         ·

        2020-08-01 01:05




        IPython 是一個非常人性化的交互式 Python shell,用了它之后你絕對不會再想用自帶的 Python shell 了。IPython 支持變量自動補(bǔ)全,自動縮進(jìn),支持 bash shell 命令,內(nèi)置了許多實用功能和函數(shù),同時它也是科學(xué)計算和交互可視化的最佳平臺。它是
        1. 滿足你各種需求的交互式shell
        2. 火爆數(shù)據(jù)科學(xué)社區(qū)的Jupyter內(nèi)核(供Jupyter Notebook使用)
        3. 對交互式數(shù)據(jù)可視化和GUI工具的完美支持
        4. 簡單易用的高性能并行計算工具
        IPython中的‘I’即代表交互的意思,所以IPython提供了豐富的工具,能更好地與python進(jìn)行交互。
        如果你還沒有用過 IPython,可以立刻在命令行中執(zhí)行:
        pip install ipython
        來進(jìn)行安裝。
        然后再執(zhí)行:
        ipython

        即可打開這個功能強(qiáng)大的 Python 交互式開發(fā)環(huán)境。

        接下來,本文將梳理 IPython 的50個用法,供Python愛好者參考。
        注:前面說過IPython提供了jupyter內(nèi)核,所以Jupyter Notebook是一個基于瀏覽器的IPython shell,支持IPython的所有功能。(你可以通過 ipython notebook 的命令進(jìn)入jupyter)
        以下內(nèi)容均在Jupyter Notebook環(huán)境中測試。

        1. ?打印IPython簡介

        在IPython中直接輸入?,可以打印出IPython的功能介紹

        2. object ?內(nèi)省功能

        在變量后面加上?,可以打印出該變量的詳細(xì)信息。例如圖中一個列表對象,打印出該對象的類型、長度等信息。

        3. object ??內(nèi)省功能

        ???功能相似,不過??還可以查看函數(shù)或模塊對象的源代碼。

        4. history歷史命令

        在IPython中,執(zhí)行historyhist命令能夠查看歷史輸入。

        5. tab自動補(bǔ)全

        IPython支持tab鍵自動補(bǔ)全。

        6. ! shell_command執(zhí)行shell命令

        shell (windows里叫作cmd)表示使用文本與計算機(jī)進(jìn)行交互的方式,在IPython中,shell命令前加上感嘆號!(英文輸入法)就可以直接執(zhí)行。如圖使用ping檢測百度網(wǎng)址。

        7.魔法命令%和%%區(qū)別

        魔法命令分為兩種,一種是line magics,另外一種cell magics。Line magic是通過在前面加%,表示magic只在本行有效。Cell magic是通過在前面加%%,表示magic在整個cell單元有效。

        8. %run運(yùn)行腳本

        在IPython會話環(huán)境中,py文件可以通過%run命令當(dāng)做Python程序來運(yùn)行,輸入%run 路徑+文件名稱即可。如圖,e盤中有一py腳本test.py,在IPython中執(zhí)行。

        9.%timeit測量代碼運(yùn)行時間

        IPython使用魔法命令%timeit來測量單行代碼的運(yùn)行時間。

        10.%%timeit測量代碼運(yùn)行時間

        %%timeit用來測量整個單元格代碼的運(yùn)行時間.

        11. %pwd顯示工作路徑

        該魔法命令用來顯示當(dāng)前工作目錄的路徑。

        12. %matplotlib inline顯示圖像

        在notebook中繪制圖像時,使用%matplotlib inline命令可以將圖表直接嵌入到notebook中,方便查看。

        13. %conda安裝第三方庫

        %conda install pkgs命令用于在IPython中安裝python第三方庫。

        14. %pylab交互式計算

        %pylab 魔法命令可以使numpy和matplotlib中的科學(xué)計算功能生效,這些功能被稱為基于向量和矩陣的高效操作,交互可視化特性。它能夠讓我們在控制臺進(jìn)行交互式計算和動態(tài)繪圖。

        15. %quickref查看參考

        %quickref用來查看IPython的特定語法和魔法命令參考。

        16. %ls顯示目錄內(nèi)容

        %ls path命令可以用來顯示特定目錄下的內(nèi)容。

        17. 通配符*

        使用通配符*?可以模糊查詢方法名及屬性。

        18. %cd修改目錄

        %cd命令可以修改當(dāng)前工作目錄。

        19. _打印前輸出結(jié)果

        使用一個下劃線 _ 獲取前一個輸出結(jié)果,它是個變量,實時更新的。使用兩個下劃線 __可以獲取倒數(shù)第二個輸出,使用三個下劃線 ___ 獲取倒數(shù)第三個輸出(沒有輸出的命令行不計入在內(nèi),只支持前三個輸出結(jié)果)。

        20. ;抑制輸出

        在語句后面加上;,不顯示輸出結(jié)果。

        21. %debug交互式調(diào)試器

        %debug命令支持從最新的異常跟蹤的底部進(jìn)入交互式調(diào)試器。在ipdb調(diào)試模式下能訪問所有的本地變量和整個?;厮荨J褂胾和d向上和向下訪問棧,使用q退出調(diào)試器。在調(diào)試器中輸入?可以查看所有的可用命令列表。

        22. %pdb交互式調(diào)試器

        %pdb同樣用于啟動交互式調(diào)試器,不過支持對所有的異常進(jìn)行調(diào)試。你需要事先啟動%pdb命令,之后對每一個異常都會進(jìn)行調(diào)試。

        23. %run -d交互式調(diào)試器

        %run -d用于對腳本進(jìn)行調(diào)試。

        24. %pycat語法高亮

        %pycat filename用語法高亮顯示一個python文件(不用加.py后綴名)。

        25. %load加載代碼

        %load命令用于將腳本代碼加載到當(dāng)前cell。

        26. %macro定義宏

        %macro taskname n1 n2...用來定義宏,并給宏命名,執(zhí)行指定的代碼行。執(zhí)行name就是執(zhí)行n1 n2...這些代碼。

        27. %notebook導(dǎo)出notebook

        %notebook path用于導(dǎo)出當(dāng)前notebook內(nèi)容到指定ipynb文件中。

        28. %pdef打印構(gòu)造信息

        %pdef命令用來打印類、函數(shù)的構(gòu)造信息。

        29. %pdoc打印文檔

        %pdoc命令用來打印對象的文檔字符串。

        30. %precision浮點(diǎn)數(shù)精度

        %precision命令用來設(shè)置浮點(diǎn)數(shù)精度,可添加具體參數(shù),無參數(shù)則默認(rèn)精度。

        31. %xdel刪除變量

        %xdel命令用于刪除變量,并嘗試清楚其在IPython中的對象上的一切引用。

        32. %who顯示變量

        %who命令用于顯示當(dāng)前所有變量,你也可以指定顯示變量的類型。

        33. %who顯示變量

        %who命令同樣用于顯示當(dāng)前變量,但提供的信息更加豐富。

        34. %save保存cell

        %save path n1 n2..命令用于將指定cell代碼保存到指定的py文件中。

        35. %reset重置

        %reset -f命令用于刪除定義的所有變量,如果不指定參數(shù)-f,則需要確認(rèn)后再重置。

        36. %rerun執(zhí)行前代碼

        %rerun命令用于執(zhí)行之前的代碼,可以指定歷史代碼行,默認(rèn)最后一行。

        37. %%HTML渲染HTML

        %%HTML命令用于將單元格渲染為HTML輸出。

        38. %%javascript運(yùn)行JavaScript

        %%javascript命令用于運(yùn)行含有JavaScript代碼的cell。

        39. %%latex渲染LaTeX

        %%latex命令用于將LaTeX語句渲染為公式,LaTeX是一種基于ΤΕΧ的排版系統(tǒng)。

        40. %%markdown渲染markdown

        %%markdown命令用于將markdown文本渲染為可視化輸出。

        41. %%writefile寫入文件

        %%writefile命令用于將單元格內(nèi)容寫入到指定文件中,文件格式可為txt、py等。

        42. %bookmark保存書簽

        %bookmark命令能夠保存常用目錄的別名,以便實現(xiàn)快速跳轉(zhuǎn),書簽?zāi)軌虺志没4妗?/section>

        43. %paste粘貼代碼塊

        當(dāng)你使用 IPython 解釋器時,有件事經(jīng)常讓你頭疼,那就是粘貼多行代碼塊可能會導(dǎo)致不可預(yù)料的錯誤,尤其是其中包含縮進(jìn)和解釋符號時。
        使用%paste命令能夠直接執(zhí)行剪切板中的python代碼塊。

        44. %magic獲取魔法命令列表

        %magic用于獲取所有魔法命令及其用法。

        45. InOut

        常會看到IPython 中的In[1]:/Out[1]:形式的提示,它們并不僅僅是好看的裝飾形式,還是包含輸入、輸出的變量。
        In 對象是一個列表,按照順序記錄所有的命令。
        Out 對象不是一個列表,而是一個字典,它將輸入數(shù)字映射到相應(yīng)的輸出(如果有的話)

        46. %xmode控制異常

        %xmode命令用于控制異常輸出的模式。

        47. jupyter qtconsole

        jupyter qtconsole 是ipython團(tuán)隊基于qt框架開發(fā)的一個GUI控制臺。
        它具有富文本編輯功能,既能夠在里面實現(xiàn)內(nèi)嵌圖片、多行編輯、語法高亮等。

        48. IPython導(dǎo)航快捷鍵

        快捷鍵
        動作


        Ctrl + a
        將光標(biāo)移到本行的開始處
        Ctrl + e
        將光標(biāo)移到本行的結(jié)尾處
        Ctrl + b(或左箭頭鍵)
        將光標(biāo)回退一個字符
        Ctrl + f(或右箭頭鍵)
        將光標(biāo)前進(jìn)一個字符

        49. IPython文本輸入快捷鍵

        快捷鍵
        動作


        Backspace 鍵
        刪除前一個字符
        Ctrl + d
        刪除后一個字符
        Ctrl + k
        從光標(biāo)開始剪切至行的末尾
        Ctrl + u
        從行的開頭剪切至光標(biāo)
        Ctrl + y
        yank(即粘貼)之前剪切的文本
        Ctrl + t
        transpose(即交換)前兩個字符

        50. IPython命令歷史快捷鍵

        快捷鍵
        動作


        Ctrl + p(或向上箭頭)
        獲取前一個歷史命令
        Ctrl + n(或向下箭頭)
        獲取后一個歷史命令
        Ctrl + r
        對歷史命令的反向搜索


        作者:朱衛(wèi)軍?

        來源:Python大數(shù)據(jù)分析




        _往期文章推薦_
        10個省時間的PyCharm技巧




        瀏覽 62
        點(diǎn)贊
        評論
        收藏
        分享

        手機(jī)掃一掃分享

        分享
        舉報
        評論
        圖片
        表情
        推薦
        點(diǎn)贊
        評論
        收藏
        分享

        手機(jī)掃一掃分享

        分享
        舉報
          
          

            1. 色av婷婷 | 欧美一级特黄A片免费看视频小说 | 欧美乱伦图区 | 国产人妻精品一区二区三区不卡 | 日本一区二区三区在线播放 |