用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 相关文章推荐
python中sleep函数用法实例分析
Apr 29 Python
python实现树形打印目录结构
Mar 29 Python
python3.7.0的安装步骤
Aug 27 Python
Python打包方法Pyinstaller的使用
Oct 09 Python
在python带权重的列表中随机取值的方法
Jan 23 Python
python3.6、opencv安装环境搭建过程(图文教程)
Nov 05 Python
Python如何使用函数做字典的值
Nov 30 Python
Python urlencode和unquote函数使用实例解析
Mar 31 Python
如何解决python多种版本冲突问题
Oct 13 Python
Python关于拓扑排序知识点讲解
Jan 04 Python
Python图像处理之膨胀与腐蚀的操作
Feb 07 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 Global变量定义当前页面的全局变量实现探讨
2013/06/05 PHP
php二维数组用键名分组相加实例函数
2013/11/06 PHP
解决file_get_contents无法请求https连接的方法
2013/12/17 PHP
php去除头尾空格的2种方法
2015/03/16 PHP
MacOS 安装 PHP的图片裁剪扩展Tclip
2015/03/25 PHP
微信公众号判断用户是否已关注php代码解析
2016/06/24 PHP
PHP基于cookie实现统计在线人数功能示例
2019/01/16 PHP
PHP实现给定一列字符,生成指定长度的所有可能组合示例
2019/06/22 PHP
javascript 新浪背投广告实现代码
2009/07/07 Javascript
JavaScript事件处理器中的event参数使用介绍
2013/05/24 Javascript
js验证电话号码与手机支持+86的正则表达式
2014/01/23 Javascript
JS模仿编辑器实时改变文本框宽度和高度大小的方法
2015/08/17 Javascript
原生javascript实现解析XML文档与字符串
2016/03/01 Javascript
详细解读Jquery各Ajax函数($.get(),$.post(),$.ajax(),$.getJSON())
2016/08/15 Javascript
AngularJS 自定义指令详解及示例代码
2016/08/17 Javascript
基于javascript实现按圆形排列DIV元素(二)
2016/12/02 Javascript
[02:40]DOTA2英雄基础教程 先知
2013/11/29 DOTA
Python修改Excel数据的实例代码
2013/11/01 Python
Python线程的两种编程方式
2015/04/14 Python
python 读取txt中每行数据,并且保存到excel中的实例
2018/04/29 Python
Python动态生成多维数组的方法示例
2018/08/09 Python
centos6.5安装python3.7.1之后无法使用pip的解决方案
2019/02/14 Python
对python 中re.sub,replace(),strip()的区别详解
2019/07/22 Python
Python测试模块doctest使用解析
2019/08/10 Python
Python selenium的基本使用方法分析
2019/12/21 Python
pytorch dataloader 取batch_size时候出现bug的解决方式
2020/02/20 Python
scrapy redis配置文件setting参数详解
2020/11/18 Python
详解html5 canvas常用api总结(二)--绘图API
2016/12/14 HTML / CSS
小学生检讨书大全
2014/02/06 职场文书
企业办公室主任岗位职责
2014/02/19 职场文书
幼儿园师德师风学习材料
2014/05/29 职场文书
岗位职责说明书模板
2014/07/30 职场文书
婚礼证婚人演讲稿
2014/09/13 职场文书
离婚协议书范本2014
2014/10/27 职场文书
档案接收函格式
2015/01/30 职场文书
工作一年自我鉴定
2019/06/20 职场文书