用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传递参数方式小结
Apr 17 Python
python写日志封装类实例
Jun 28 Python
Python中生成Epoch的方法
Apr 26 Python
Python实现爬取需要登录的网站完整示例
Aug 19 Python
pandas Dataframe行列读取的实例
Jun 08 Python
tensorflow 输出权重到csv或txt的实例
Jun 14 Python
Python实现的简单排列组合算法示例
Jul 04 Python
Python数据分析matplotlib设置多个子图的间距方法
Aug 03 Python
分享8点超级有用的Python编程建议(推荐)
Oct 13 Python
django 数据库 get_or_create函数返回值是tuple的问题
May 15 Python
python实现从ftp上下载文件的实例方法
Jul 19 Python
详解python使用金山词霸的翻译功能(调试工具断点的使用)
Jan 07 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下统计用户在线时间的一种尝试
2010/08/26 PHP
浏览器关闭后,能继续执行的php函数(ignore_user_abort)
2012/08/01 PHP
PHP快速推送微信模板消息
2017/04/14 PHP
Laravel框架基于中间件实现禁止未登录用户访问页面功能示例
2019/01/17 PHP
laravel 出现command not found问题的解决方案
2019/10/23 PHP
JavaScript 函数参数是传值(byVal)还是传址(byRef) 分享
2013/07/02 Javascript
JavaScript实现两个Table固定表头根据页面大小自行调整
2014/01/03 Javascript
登陆成功后自动计算秒数执行跳转
2014/01/23 Javascript
仿百度联盟对联广告实现代码
2014/08/30 Javascript
js获取会话框prompt的返回值的方法
2015/01/10 Javascript
javascript实现框架高度随内容改变的方法
2015/07/23 Javascript
基于Bootstrap使用jQuery实现输入框组input-group的添加与删除
2016/05/03 Javascript
浅谈js函数三种定义方式 & 四种调用方式 & 调用顺序
2017/02/19 Javascript
Easyui和zTree两种方式分别实现树形下拉框
2017/08/04 Javascript
微信小程序 scroll-view实现锚点滑动的示例
2017/12/06 Javascript
详解webpack4之splitchunksPlugin代码包分拆
2018/12/04 Javascript
vue计算属性computed的使用方法示例
2019/03/13 Javascript
使用vuex解决刷新页面state数据消失的问题记录
2019/05/08 Javascript
element实现合并单元格通用方法
2019/11/13 Javascript
python导入时小括号大作用
2017/01/10 Python
Python使用QQ邮箱发送Email的方法实例
2017/02/09 Python
wx.CheckBox创建复选框控件并响应鼠标点击事件
2018/04/25 Python
python的一些加密方法及python 加密模块
2019/07/11 Python
django多个APP的urls设置方法(views重复问题解决)
2019/07/19 Python
Python实现自动访问网页的例子
2020/02/21 Python
浅谈numpy中函数resize与reshape,ravel与flatten的区别
2020/06/18 Python
Pytorch损失函数nn.NLLLoss2d()用法说明
2020/07/07 Python
CSS3使用transition实现的鼠标悬停淡入淡出
2015/01/09 HTML / CSS
Backcountry旗下的户外商品闪购网站:steep&cheap
2016/09/22 全球购物
BIBLOO捷克:购买女装、男装、童装、鞋和配件
2017/01/27 全球购物
Reebok官方旗舰店:美国知名健身品牌锐步
2019/01/07 全球购物
预备党员思想汇报范文
2014/01/11 职场文书
会计毕业生自荐书
2014/06/12 职场文书
金融专业毕业生自荐信
2014/06/26 职场文书
2014年为民办实事工作总结
2014/12/20 职场文书
关于观后感的作文
2015/06/18 职场文书