用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遍历文件夹和读写文件的实现代码
Aug 28 Python
python验证码识别的示例代码
Sep 21 Python
将python代码和注释分离的方法
Apr 21 Python
Python Dataframe 指定多列去重、求差集的方法
Jul 10 Python
Python进阶之自定义对象实现切片功能
Jan 07 Python
python简单实现AES加密和解密
Mar 28 Python
python程序 创建多线程过程详解
Sep 23 Python
DataFrame.to_excel多次写入不同Sheet的实例
Dec 02 Python
tensorboard 可以显示graph,却不能显示scalar的解决方式
Feb 15 Python
python numpy实现多次循环读取文件 等间隔过滤数据示例
Mar 14 Python
Python如何把Spark数据写入ElasticSearch
Apr 18 Python
python:解析requests返回的response(json格式)说明
Apr 30 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/03/03 PHP
PHP学习之数组的定义和填充
2011/04/17 PHP
fleaphp rolesNameField bug解决方法
2011/04/23 PHP
PHP mail()函数使用及配置方法
2014/01/14 PHP
PHP中session变量的销毁
2014/02/27 PHP
让回调函数 showResponse 也带上参数的代码
2007/08/13 Javascript
jQuery 动画基础教程
2008/12/25 Javascript
javascript 写类方式之八
2009/07/05 Javascript
ExtJs3.0中Store添加 baseParams 的Bug
2010/03/10 Javascript
基于jQuery的获得各种控件Value的方法
2010/11/19 Javascript
jquery对表单操作2
2011/04/06 Javascript
一样的table?不一样的table(可编辑状态table)
2012/09/19 Javascript
js控制滚动条缓慢滚动到顶部实现代码
2013/03/20 Javascript
DOM基础教程之事件对象
2015/01/20 Javascript
JavaScript的Polymer框架中dom-repeat与VM的相关操作
2015/07/29 Javascript
js添加事件的通用方法推荐
2016/05/15 Javascript
Angularjs在360兼容模式下取数据缓存问题的解决办法
2017/06/22 Javascript
Angular-UI Bootstrap组件实现警报功能
2018/07/16 Javascript
vue中使用axios post上传头像/图片并实时显示到页面的方法
2018/09/27 Javascript
vue+element tabs选项卡分页效果
2020/06/29 Javascript
javascript设计模式 ? 中介者模式原理与用法实例分析
2020/04/20 Javascript
Node 模块原理与用法详解
2020/05/13 Javascript
python脚本监控docker容器
2016/04/27 Python
Windows下Python使用Pandas模块操作Excel文件的教程
2016/05/31 Python
windows系统下Python环境的搭建(Aptana Studio)
2017/03/06 Python
python3下使用cv2.imwrite存储带有中文路径图片的方法
2018/05/10 Python
Jacobi迭代算法的Python实现详解
2019/06/29 Python
Python如何telnet到网络设备
2021/02/18 Python
一款纯css3实现的动画加载导航
2014/10/08 HTML / CSS
html5+css3气泡组件的实现
2014/11/21 HTML / CSS
超市中秋节活动方案
2014/02/12 职场文书
《小壁虎借尾巴》教学反思
2014/02/16 职场文书
离婚民事起诉状
2015/08/03 职场文书
五一放假通知怎么写
2015/08/18 职场文书
Django 如何实现文件上传下载
2021/04/08 Python
Hive导入csv文件示例
2022/06/25 数据库