使用交互式 shell 来增强你的 Python

2018 年 5 月 21 日 Python开发者

(点击上方公众号,可快速关注)


编译: linux中国 / geekpi  英文:  Clément Verna

https://linux.cn/article-9658-1.html


Python 编程语言已经成为 IT 中使用的最流行的语言之一。成功的一个原因是它可以用来解决各种问题。从网站开发到数据科学、机器学习到任务自动化,Python 生态系统有丰富的框架和库。本文将介绍 Fedora 软件包集合中提供的一些有用的 Python shell 来简化开发。

Python Shell

Python Shell 让你以交互模式使用解释器。这在测试代码或尝试新库时非常有用。在 Fedora 中,你可以通过在终端会话中输入 python3 来调用默认的 shell。虽然 Fedora 提供了一些更高级和增强的 shell。

IPython

IPython 为 Python shell 提供了许多有用的增强功能。例如包括 tab 补全,对象内省,系统 shell 访问和命令历史检索。许多功能也被 Jupyter Notebook 使用,因为它底层使用 IPython。

安装和运行 IPython

dnf install ipython3

ipython3


使用 tab 补全会提示你可能的选择。当你使用不熟悉的库时,此功能会派上用场。

如果你需要更多信息,输入 ? 命令来查看文档。对此的更多详细信息,你可以使用 ?? 命令。

另一个很酷的功能是使用 ! 字符执行系统 shell 命令的能力。然后可以在 IPython shell 中引用该命令的结果。

IPython 完整的功能列表可在官方文档中找到。

bpython

bpython 并不能像 IPython 做那么多,但它却在一个简单的轻量级包中提供了一系列有用功能。除其他功能之外,bpython 提供:

  • 内嵌语法高亮显示

  • 在你输入时提供自动补全建议

  • 可预期的参数列表

  • 能够将代码发送或保存到 pastebin 服务或文件中

安装和运行 bpython

dnf install bpython3

bpython3


在你输入的时候,bpython 为你提供了选择来自动补全你的代码。

当你调用函数或方法时,会自动显示需要的参数和文档字符串。

另一个很好的功能是可以使用功能键 F7 在外部编辑器(默认为 Vim)中打开当前的 bpython 会话。这在测试更复杂的程序时非常有用。

有关配置和功能的更多细节,请参考 bpython 文档

总结

使用增强的 Python shell 是提高生产力的好方法。它为你提供增强的功能来编写快速原型或尝试新库。你在使用增强的 Python shell 吗?请随意在评论区留言。

看完本文有收获?请转发分享给更多人

关注「Python开发者」,提升Python技能

登录查看更多
0

相关内容

【实用书】学习用Python编写代码进行数据分析,103页pdf
专知会员服务
198+阅读 · 2020年6月29日
【实用书】Python机器学习Scikit-Learn应用指南,247页pdf
专知会员服务
269+阅读 · 2020年6月10日
【实用书】Python技术手册,第三版767页pdf
专知会员服务
239+阅读 · 2020年5月21日
【实用书】Python爬虫Web抓取数据,第二版,306页pdf
专知会员服务
122+阅读 · 2020年5月10日
【书籍推荐】简洁的Python编程(Clean Python),附274页pdf
专知会员服务
183+阅读 · 2020年1月1日
如何使用自然语言工具包(NLTK)在Python3中执行情感分析
Python程序员
21+阅读 · 2019年10月28日
msf实现linux shell反弹
黑白之道
49+阅读 · 2019年8月16日
Python奇淫技巧,5个数据可视化工具
机器学习算法与Python学习
7+阅读 · 2019年4月12日
Python用于NLP :处理文本和PDF文件
Python程序员
4+阅读 · 2019年3月27日
数据科学、机器学习IDE概览
论智
9+阅读 · 2018年11月12日
Python 杠上 Java、C/C++,赢面有几成?
CSDN
6+阅读 · 2018年4月12日
Python为啥这么牛?
Python程序员
3+阅读 · 2018年3月30日
10个深度学习软件的安装指南(附代码)
数据派THU
17+阅读 · 2017年11月18日
如何用Python做舆情时间序列可视化?
CocoaChina
11+阅读 · 2017年7月21日
A Comprehensive Survey on Transfer Learning
Arxiv
121+阅读 · 2019年11月7日
Arxiv
3+阅读 · 2019年9月5日
Learning by Abstraction: The Neural State Machine
Arxiv
6+阅读 · 2019年7月11日
Knowledge Based Machine Reading Comprehension
Arxiv
4+阅读 · 2018年9月12日
Arxiv
7+阅读 · 2018年6月1日
Arxiv
8+阅读 · 2018年1月25日
VIP会员
相关VIP内容
相关资讯
如何使用自然语言工具包(NLTK)在Python3中执行情感分析
Python程序员
21+阅读 · 2019年10月28日
msf实现linux shell反弹
黑白之道
49+阅读 · 2019年8月16日
Python奇淫技巧,5个数据可视化工具
机器学习算法与Python学习
7+阅读 · 2019年4月12日
Python用于NLP :处理文本和PDF文件
Python程序员
4+阅读 · 2019年3月27日
数据科学、机器学习IDE概览
论智
9+阅读 · 2018年11月12日
Python 杠上 Java、C/C++,赢面有几成?
CSDN
6+阅读 · 2018年4月12日
Python为啥这么牛?
Python程序员
3+阅读 · 2018年3月30日
10个深度学习软件的安装指南(附代码)
数据派THU
17+阅读 · 2017年11月18日
如何用Python做舆情时间序列可视化?
CocoaChina
11+阅读 · 2017年7月21日
相关论文
A Comprehensive Survey on Transfer Learning
Arxiv
121+阅读 · 2019年11月7日
Arxiv
3+阅读 · 2019年9月5日
Learning by Abstraction: The Neural State Machine
Arxiv
6+阅读 · 2019年7月11日
Knowledge Based Machine Reading Comprehension
Arxiv
4+阅读 · 2018年9月12日
Arxiv
7+阅读 · 2018年6月1日
Arxiv
8+阅读 · 2018年1月25日
Top
微信扫码咨询专知VIP会员