IPython 8.0 大版本更新,支持代碼自動補全
來源:量子位 | 公眾號 QbitAI
醞釀了3年多,IPython 8.0終于來了。
現(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將應(yīng)用全局模式(對所有歷史記錄進行全局化)并忽略指定范圍。
現(xiàn)在,此功能得到加強,如果用戶同時指定了范圍和glob模式,則glob模式將應(yīng)用于指定的歷史范圍。
如果你還想了解更多信息,官網(wǎng)鏈接在此奉上:
https://ipython.readthedocs.io/en/stable/whatsnew/version8.html#ipython-8-0
對了,還要提醒一點,如果想用IPython 8.0,你得先把Python升級到3.8以上版本。
[1]https://blog.jupyter.org/release-of-ipython-8-0-6e034ff122ef
[2]https://www.oschina.net/news/178236/ipython-8-0-released
[3]https://news.ycombinator.com/item?id=29906774
推薦閱讀:
入門:?最全的零基礎(chǔ)學(xué)Python的問題? |?零基礎(chǔ)學(xué)了8個月的Python??|?實戰(zhàn)項目?|學(xué)Python就是這條捷徑
干貨:爬取豆瓣短評,電影《后來的我們》?|?38年NBA最佳球員分析?|? ?從萬眾期待到口碑撲街!唐探3令人失望? |?笑看新倚天屠龍記?|?燈謎答題王?|用Python做個海量小姐姐素描圖?|碟中諜這么火,我用機器學(xué)習(xí)做個迷你推薦系統(tǒng)電影
趣味:彈球游戲? |?九宮格? |?漂亮的花?|?兩百行Python《天天酷跑》游戲!
AI:?會做詩的機器人?|?給圖片上色?|?預(yù)測收入?|?碟中諜這么火,我用機器學(xué)習(xí)做個迷你推薦系統(tǒng)電影
小工具:?Pdf轉(zhuǎn)Word,輕松搞定表格和水印!?|?一鍵把html網(wǎng)頁保存為pdf!|??再見PDF提取收費!?|?用90行代碼打造最強PDF轉(zhuǎn)換器,word、PPT、excel、markdown、html一鍵轉(zhuǎn)換?|?制作一款釘釘?shù)蛢r機票提示器!?|60行代碼做了一個語音壁紙切換器天天看小姐姐!|
年度爆款文案
6).30個Python奇淫技巧集?
點閱讀原文,看200個Python案例!

