社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  Python

IPython 8.0 大版本更新,支持代码自动补全

程序员遇见GitHub • 3 年前 • 259 次点击  

公众号关注 “程序员遇见GitHub

设为“星标”,重磅干货,第一时间送达

来源:量子位 | 公众号 QbitAI

酝酿了3年多,IPython 8.0终于来了。

现在,用上最新版本,你不仅能在命令行里使用Black重新格式化代码,还能获得更好的自动代码补全和Debug体验。

更多详情,咱们接着往下看。

优化报错

在8.0版本之前,如果代码出错,IPython的错误回溯会显示一个哈希值,用于编译Python AST,就像这样:

而现在,错误回溯已经正确格式化,能够显示出bug所在的具体单元格编号。

另外,IPython 8.0还集成了stack_data,这个包提供了更智能的追踪信息,能够突出显示发生错误的AST节点,帮助快速定位bug。

比如对于这样一段代码:

调用bar(),就能获得一个IndexError,IPython 8.0会告诉你索引错误具体发生在哪里。

注:在终端和notebook中,用^标记的位置将显示为高亮。

还有一个对生产力有较大影响的改进,就是在错误回溯的文件名后面添加冒号和行号。

许多终端和编辑器都允许在使用这种语法时,直接跳转到相关文件/行。

自动代码补全建议

除了更好的Debug体验,如果你很喜欢Ptpython里的代码自动补全功能,那么现在在IPython 8.0里你也能用上了。

通过ctrl-f,或ctrl-e,或按下右箭头,就可以接受这些建议。

alt-f快捷键则可以只接受建议的第一个单词。

目前,自动建议只能在emacs或vi模式中显示。

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

在IPDB中,现在可以用“?”和“??”来显示对象信息,在使用IPython提示符时也一样:

在CLI中用black自动格式化

如果black被安装在与IPython相同的环境中,那么现在,终端IPython将在默认情况下尽可能重新格式化命令行(CLI)中的代码。

当然,你也可以用 —TerminalInteractiveShell.autoformatter=None 来禁用该选项。

历史范围全局功能

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

或是使用全局模式:

但在8.0以前,这两种模式不能兼得。如果用户同时指定了2种模式,IPython将应用全局模式(对所有历史记录进行全局化)并忽略指定范围。

现在,此功能得到加强,如果用户同时指定了范围和glob模式,则glob模式将应用于指定的历史范围。

如果你还想了解更多信息,官网链接在此奉上:

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

推荐阅读:

我教你如何读博!

牛逼!轻松高效处理文本数据神器

B站强化学习大结局!

如此神器,得之可得顶会!

兄弟们!神经网络画图,有它不愁啊

太赞了!东北大学朱靖波,肖桐团队开源《机器翻译:统计建模与深度学习方法》

当年毕业答辩!遗憾没有它...

已开源!所有李航老师《统计学习方法》代码实现

这个男人,惊为天人!手推PRML!

它来了!《深度学习》(花书) 数学推导、原理剖析与代码实现

你们心心念念的MIT教授Gilbert Strang线性代数彩板笔记!强烈推荐!

GitHub超过9800star!学习Pytorch,有这一份资源就够了!强推!

你真的懂神经网络?强推一个揭秘神经网络的工具,ANN Visualizer

诸位!看我如何白嫖2020 icassp!

这个时代研究情感分析,是最好也是最坏!

BERT雄霸天下!

玩转Pytorch,搞懂这个教程就可以了,从GAN到词嵌入都有实例

是他,是他,就是他!宝藏博主让你秒懂Transformer、BERT、GPT!

fitlog!复旦邱锡鹏老师组内部调参工具!一个可以节省一篇论文的调参利器

Github开源!查阅arXiv论文新神器,一行代码比较版本差别,我爱了!

开源!数据结构与算法必备的 50 个代码实现

他来了!吴恩达带着2018机器学习入门高清视频,还有习题解答和课程拓展来了!

太赞了!复旦邱锡鹏老师NLP实战code解读开源!

这块酷炫的Python神器!我真的爱了,帮助你深刻理解语言本质!实名推荐!

论文神器!易搜搭

不瞒你说!这可能是世界上最好的线性代数教程

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/126383
 
259 次点击