用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脚本来获取Cisco设备信息的示例
May 04 Python
在Django中创建URLconf相关的通用视图的方法
Jul 20 Python
python批量制作雷达图的实现方法
Jul 26 Python
解决python3 urllib中urlopen报错的问题
Mar 25 Python
python实现数据导出到excel的示例--普通格式
May 03 Python
Python定时任务随机时间执行的实现方法
Aug 14 Python
简单介绍django提供的加密算法
Dec 18 Python
如何基于Python创建目录文件夹
Dec 31 Python
python圣诞树编写实例详解
Feb 13 Python
python shell命令行中import多层目录下的模块操作
Mar 09 Python
Python实现手势识别
Oct 21 Python
Python request post上传文件常见要点
Nov 20 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小技巧之JS和CSS优化工具Minify的使用方法
2014/05/19 PHP
PHP使用curl制作简易百度搜索
2016/11/03 PHP
php生成二维码图片方法汇总
2016/12/17 PHP
Yii2框架实现数据库常用操作总结
2017/02/08 PHP
PHP迭代与递归实现无限级分类
2017/08/28 PHP
Alliance vs Liquid BO3 第一场2.13
2021/03/10 DOTA
javascript静态的url如何传递
2007/05/03 Javascript
csdn 博客中实现运行代码功能实现
2009/08/29 Javascript
使用JavaScript的ActiveXObject对象检测应用程序是否安装的方法
2014/04/15 Javascript
JavaScript 学习笔记之操作符(续)
2015/01/14 Javascript
JavaScript数组去重的6个方法
2017/01/21 Javascript
Angular2 自定义validators的实现方法
2017/07/05 Javascript
快速搭建vue2.0+boostrap项目的方法
2018/04/09 Javascript
基于js Canvas实现二次贝塞尔曲线
2018/12/25 Javascript
vue-cli系列之vue-cli-service整体架构浅析
2019/01/14 Javascript
react使用CSS实现react动画功能示例
2020/05/18 Javascript
简单介绍Python中的readline()方法的使用
2015/05/24 Python
python动态参数用法实例分析
2015/05/25 Python
简单讲解Python中的数字类型及基本的数学计算
2016/03/11 Python
基于python的七种经典排序算法(推荐)
2016/12/08 Python
Python 判断奇数偶数的方法
2018/12/20 Python
Python3.6中Twisted模块安装的问题与解决
2019/04/15 Python
Python通过2种方法输出带颜色字体
2020/03/02 Python
解决selenium+Headless Chrome实现不弹出浏览器自动化登录的问题
2021/01/09 Python
CSS3 实现图形下落动画效果
2020/11/13 HTML / CSS
突袭HTML5之Javascript API扩展4—拖拽(Drag/Drop)概述
2013/01/31 HTML / CSS
美国最大的在线寄售和旧货店:Swap.com
2018/08/27 全球购物
Foot Locker德国官方网站:美国运动服和鞋类零售商
2018/11/01 全球购物
C#笔试题
2015/07/14 面试题
linux系统都有哪些运行级别
2016/03/26 面试题
运动会标语
2014/06/21 职场文书
民间借贷协议书范本
2014/10/01 职场文书
学校总务处领导干部个人对照检查材料思想汇报
2014/10/06 职场文书
单位收入证明范本
2015/06/18 职场文书
鲁滨逊漂流记读书笔记
2015/06/26 职场文书
iOS 16进一步确认,一共支持16款iPhone
2022/04/28 数码科技