用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实现绘制树枝简单示例
Jul 24 Python
python互斥锁、加锁、同步机制、异步通信知识总结
Feb 11 Python
解决Pandas to_json()中文乱码,转化为json数组的问题
May 10 Python
Python实现微信消息防撤回功能的实例代码
Apr 29 Python
python读取目录下所有的jpg文件,并显示第一张图片的示例
Jun 13 Python
对python中的控制条件、循环和跳出详解
Jun 24 Python
python爬虫 批量下载zabbix文档代码实例
Aug 21 Python
python安装scipy的步骤解析
Sep 28 Python
matlab中imadjust函数的作用及应用举例
Feb 27 Python
2021年的Python 时间轴和即将推出的功能详解
Jul 27 Python
Django限制API访问频率常用方法解析
Oct 12 Python
python使用dlib进行人脸检测和关键点的示例
Dec 05 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
虹吸式咖啡探讨–研磨
2021/03/03 冲泡冲煮
3
2006/10/09 PHP
推荐php模板技术[转]
2007/01/04 PHP
实现获取http内容的php函数分享
2014/02/16 PHP
PHP中feof()函数实例测试
2014/08/23 PHP
PHP快速导出百万级数据到CSV或者EXCEL文件
2020/11/27 PHP
TopList标签和JavaScript结合两例
2007/08/12 Javascript
不安全的常用的js写法
2009/09/15 Javascript
让jQuery与其他JavaScript库并存避免冲突的方法
2013/12/23 Javascript
JQuery结合CSS操作打印样式的方法
2013/12/24 Javascript
js实现点击文本框显示日期选择器特效代码分享
2020/05/21 Javascript
理解 JavaScript Scoping & Hoisting(二)
2015/11/18 Javascript
AngualrJS中的Directive制作一个菜单
2016/01/26 Javascript
手机端点击图片放大特效PhotoSwipe.js插件实现
2016/08/24 Javascript
微信小程序 详解页面跳转与返回并回传数据
2017/02/13 Javascript
JS获取一个表单字段中多条数据并转化为json格式
2017/10/17 Javascript
Vue+Element UI+Lumen实现通用表格分页功能
2019/02/02 Javascript
微信小程序上线发布流程图文详解
2019/05/06 Javascript
react用Redux中央仓库实现一个todolist
2019/09/29 Javascript
微信小程序吸底区域适配iPhoneX的实现
2020/04/09 Javascript
vue+iview框架实现左侧动态菜单功能的示例代码
2020/07/23 Javascript
React服务端渲染原理解析与实践
2021/03/04 Javascript
Python实现的三层BP神经网络算法示例
2018/02/07 Python
Python中asyncio与aiohttp入门教程
2018/10/16 Python
python字典的常用方法总结
2019/07/31 Python
python计算n的阶乘的方法代码
2019/10/25 Python
Python搭建代理IP池实现存储IP的方法
2019/10/27 Python
python的reverse函数翻转结果为None的问题
2020/05/11 Python
如何一键升级Python所有包
2020/11/05 Python
AmazeUI 手机版页面的顶部导航条Header与侧边导航栏offCanvas的示例代码
2020/08/19 HTML / CSS
美国汽车零部件和配件网站:CarParts
2019/03/13 全球购物
同学聚会老师邀请函
2014/01/28 职场文书
父母教会我观后感
2015/06/17 职场文书
世界无敌的ICOM IC-R9500宽频接收机
2022/03/25 无线电
Python面试不修改数组找出重复的数字
2022/05/20 Python
详解Nginx的超时keeplive_timeout配置步骤
2022/05/25 Servers