設(shè)置
  • 日夜間
    隨系統(tǒng)
    淺色
    深色
  • 主題色

交互式 shell IPython 8.0 大版本更新:Debug 報錯提示更清晰,加入自動代碼補全

量子位 2022/1/13 15:18:12 責編:瀟公子

IPython(interactivepython)是一個用于多種編程語言交互計算的命令 shell,最初是為 Python 編程語言開發(fā)的,它提供了內(nèi)省、富媒體、shell 語法、制表符完成和歷史記錄。

醞釀了 3 年多,IPython 8.0 終于來了?,F(xiàn)在,用上最新版本,你不僅能在命令行里使用 Black 重新格式化代碼,還能獲得更好的自動代碼補全和 Debug 體驗。

更多詳情,咱們接著往下看。

優(yōu)化報錯

在 8.0 版本之前,如果代碼出錯,IPython 的錯誤回溯會顯示一個哈希值,用于編譯 Python AST,就像這樣:

而現(xiàn)在,錯誤回溯已經(jīng)正確格式化,能夠顯示出 bug 所在的具體單元格編號。

另外,IPython 8.0 還集成了 stack_data,這個包提供了更智能的追蹤信息,能夠突出顯示發(fā)生錯誤的 AST 節(jié)點,幫助快速定位 bug。

比如對于這樣一段代碼:

調(diào)用 bar (),就能獲得一個 IndexError,IPython 8.0 會告訴你索引錯誤具體發(fā)生在哪里。

注:在終端和 notebook 中,用 ^ 標記的位置將顯示為高亮。

還有一個對生產(chǎn)力有較大影響的改進,就是在錯誤回溯的文件名后面添加冒號和行號。

許多終端和編輯器都允許在使用這種語法時,直接跳轉(zhuǎn)到相關(guān)文件 / 行。

自動代碼補全建議

除了更好的 Debug 體驗,如果你很喜歡 Ptpython 里的代碼自動補全功能,那么現(xiàn)在在 IPython 8.0 里你也能用上了。

通過 ctrl-f,或 ctrl-e,或按下右箭頭,就可以接受這些建議。

alt-f 快捷鍵則可以只接受建議的第一個單詞。目前,自動建議只能在 emacs 或 vi 模式中顯示。

使用“?”和”??”查看對象信息

在 IPDB 中,現(xiàn)在可以用“?”和“??”來顯示對象信息,在使用 IPython 提示符時也一樣:

在 CLI 中用 black 自動格式化

如果 black 被安裝在與 IPython 相同的環(huán)境中,那么現(xiàn)在,終端 IPython 將在默認情況下盡可能重新格式化命令行(CLI)中的代碼。當然,你也可以用 —TerminalInteractiveShell.autoformatter=None 來禁用該選項。

歷史范圍全局功能

此前,在使用 % history 時,用戶可以指定 session 和行:

或是使用全局模式:

但在 8.0 以前,這兩種模式不能兼得。如果用戶同時指定了 2 種模式,IPython 將應用全局模式(對所有歷史記錄進行全局化)并忽略指定范圍。

現(xiàn)在,此功能得到加強,如果用戶同時指定了范圍和 glob 模式,則 glob 模式將應用于指定的歷史范圍。

如果你還想了解更多信息,官網(wǎng)鏈接在此奉上:

https://ipython.readthedocs.io/en/stable/whatsnew/version8.html#ipython-8-0

對了,還要提醒一點,如果想用 IPython 8.0,你得先把 Python 升級到 3.8 以上版本。

廣告聲明:文內(nèi)含有的對外跳轉(zhuǎn)鏈接(包括不限于超鏈接、二維碼、口令等形式),用于傳遞更多信息,節(jié)省甄選時間,結(jié)果僅供參考,IT之家所有文章均包含本聲明。

相關(guān)文章

關(guān)鍵詞:Python,ipython,shell,代碼

軟媒旗下網(wǎng)站: IT之家 最會買 - 返利返現(xiàn)優(yōu)惠券 iPhone之家 Win7之家 Win10之家 Win11之家

軟媒旗下軟件: 軟媒手機APP應用 魔方 最會買 要知