用Python shell简化开发


Posted in Python onAugust 08, 2018

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

Python Shell

Python Shell 即原生的 Python 交互环境,可以让你以交互模式使用 Python 解释器。这在测试代码或尝试新库时非常有用。在 Ubuntu 中,你可以通过在终端会话中输入 python 来调用默认的 shell。

$ python
Python 3.5.2 (default, Nov 23 2017, 16:37:01)
[GCC 5.4.0 20160609] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> print('hi')
hi

IPython

IPython 为 Python shell 提供了许多有用的增强功能。例如包括 tab 补全,对象内省,可以调用系统 shell 访问和命令历史检索。

安装和运行 IPython

$ pip install ipython

$ ipython --version
6.5.0

自动补全

在 ipython 环境下就可以使用 tab 补全啦,当遇到使用不熟悉的库时,此功能会派上用场。

用Python shell简化开发

内省

如果不熟悉某个库的某个方法,可以输入 ? 命令来查看文档。对此的更多详细信息,也可以使用 ??命令。这就叫做对象的内省。

用Python shell简化开发

运行 shell 命令

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

用Python shell简化开发

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

crtl+r 可以搜索历史命令:

用Python shell简化开发

bpython

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

  • 内嵌语法高亮显示
  • 在你输入时提供自动补全建议
  • 可预期的参数列表,bpython可以在调用函数时显示参数列表。
  • 能够将代码发送或保存到 pastebin 服务或文件中

安装和运行 bpython

$ pip install bpython

$ bpython --version
bpython version 0.17.1 on top of Python 3.5.2 /usr/bin/python
(C) 2008-2016 Bob Farrell, Andreas Stuehrk, Sebastian Ramacher, Thomas Ballinger, et al. See AUTHORS for detail.

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

用Python shell简化开发

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

用Python shell简化开发

用Python shell简化开发

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

总结

使用增强的 Python shell 是提高生产力的好方法。它为你提供增强的功能来编写快速原型或尝试新库。

Python 相关文章推荐
35个Python编程小技巧
Apr 01 Python
跟老齐学Python之print详解
Sep 28 Python
基于Python中numpy数组的合并实例讲解
Apr 04 Python
python3下实现搜狗AI API的代码示例
Apr 10 Python
django+xadmin+djcelery实现后台管理定时任务
Aug 14 Python
Python后台开发Django的教程详解(启动)
Apr 08 Python
python 批量添加的button 使用同一点击事件的方法
Jul 17 Python
python代码如何实现余弦相似性计算
Feb 09 Python
Python urlencode和unquote函数使用实例解析
Mar 31 Python
python中字典增加和删除使用方法
Sep 30 Python
Ubuntu配置Pytorch on Graph (PoG)环境过程图解
Nov 19 Python
python基础学习之递归函数知识总结
May 26 Python
在Python中使用gRPC的方法示例
Aug 08 #Python
Python实现购物评论文本情感分析操作【基于中文文本挖掘库snownlp】
Aug 07 #Python
python实现彩票系统
Jun 28 #Python
django框架自定义用户表操作示例
Aug 07 #Python
Python实现基于POS算法的区块链
Aug 07 #Python
tensorflow学习教程之文本分类详析
Aug 07 #Python
Django添加feeds功能的示例
Aug 07 #Python
You might like
PHP如何解决网站大流量与高并发的问题
2011/06/25 PHP
thinkphp使用literal防止模板标签被解析的方法
2014/11/22 PHP
php简单判断两个字符串是否相等的方法
2015/07/13 PHP
YII分模块加载路由的实现方法
2018/10/01 PHP
Thinkphp 框架扩展之应用模式实现方法分析
2020/04/27 PHP
extjs 学习笔记(一) 一些基础知识
2009/10/13 Javascript
js实现跟随鼠标移动且带关闭功能的图片广告实例
2015/02/26 Javascript
javascript清空table表格的方法
2015/05/14 Javascript
详解JavaScript中的异常处理方法
2015/06/16 Javascript
JavaScript模拟鼠标右键菜单效果
2020/12/08 Javascript
Bootstrap面板使用方法
2017/01/16 Javascript
JS实现页面打印功能
2017/03/16 Javascript
最通俗易懂的javascript变量提升详解
2017/08/05 Javascript
用p5.js制作烟花特效的示例代码
2018/03/21 Javascript
总结javascript三元运算符知识点
2018/09/28 Javascript
vue router动态路由设置参数可选问题
2019/08/21 Javascript
layer的prompt弹出框,点击回车,触发确定事件的方法
2019/09/06 Javascript
vue el-table实现行内编辑功能
2019/12/11 Javascript
vue style width a href动态拼接问题的解决
2020/08/07 Javascript
python中list列表的高级函数
2016/05/17 Python
python 全文检索引擎详解
2017/04/25 Python
Python中的TCP socket写法示例
2018/05/11 Python
Django 路由系统URLconf的使用
2018/10/11 Python
对Django中内置的User模型实例详解
2019/08/16 Python
jupyter notebook 多行输出实例
2020/04/09 Python
python os模块常用的29种方法使用详解
2020/06/02 Python
python爬虫中的url下载器用法详解
2020/11/30 Python
英国演唱会订票网站:Ticket Selection
2018/03/27 全球购物
大学生毕业自我评价范文分享
2013/11/11 职场文书
小学中秋节活动方案
2014/02/06 职场文书
2014年大学庆元旦迎新年活动方案
2014/03/09 职场文书
社会调查研究计划书
2014/05/01 职场文书
乳制品整治工作方案
2014/05/29 职场文书
2014年最新个人对照检查材料范文
2014/09/25 职场文书
初中毕业生感言
2015/07/31 职场文书
基于Pygame实现简单的贪吃蛇游戏
2021/12/06 Python