用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程序中使用Cookie的教程
Apr 30 Python
分享Python开发中要注意的十个小贴士
Aug 30 Python
python遍历 truple list dictionary的几种方法总结
Sep 11 Python
快速解决安装python没有scripts文件夹的问题
Apr 03 Python
Python根据欧拉角求旋转矩阵的实例
Jan 28 Python
Python3.5 Pandas模块之Series用法实例分析
Apr 23 Python
python自动化之Ansible的安装教程
Jun 13 Python
详解mac python+selenium+Chrome 简单案例
Nov 08 Python
基于python3抓取pinpoint应用信息入库
Jan 08 Python
在python中求分布函数相关的包实例
Apr 15 Python
如何用Python 加密文件
Sep 10 Python
appium+python自动化配置(adk、jdk、node.js)
Nov 17 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数据结构与算法(PHP描述) 查找与二分法查找
2012/06/21 PHP
PHP输出缓存ob系列函数详解
2014/03/11 PHP
php中单个数据库字段多列显示(单字段分页、横向输出)
2014/07/28 PHP
Yii基于CActiveForm的Ajax数据验证用法示例
2016/07/14 PHP
PHP图像识别技术原理与实现
2016/10/27 PHP
php实现URL加密解密的方法
2016/11/17 PHP
读jQuery之十 事件模块概述
2011/06/27 Javascript
Extjs表单常见验证小结
2014/03/07 Javascript
jquery实现鼠标悬浮停止轮播特效
2020/08/20 Javascript
JavaScript实现点击按钮直接打印
2016/01/06 Javascript
vue-router 导航钩子的具体使用方法
2017/08/31 Javascript
详解关于element级联选择器数据回显问题
2019/02/20 Javascript
可能被忽略的一些JavaScript数组方法细节
2019/02/28 Javascript
vue-cli3 DllPlugin 提取公用库的方法
2019/04/24 Javascript
超轻量级的js时间库miment使用解析
2019/08/02 Javascript
如何通过shell脚本自动生成vue文件详解
2019/09/10 Javascript
Vue 实现CLI 3.0 + momentjs + lodash打包时优化
2019/11/13 Javascript
js实现数据导出为EXCEL(支持大量数据导出)
2020/03/31 Javascript
详解关于Vue单元测试的几个坑
2020/04/26 Javascript
[02:47]3.19DOTA2发布会 国服成长历程回顾
2014/03/25 DOTA
[03:55]2014DOTA2国际邀请赛 Fnatic经理采访赢DK在情理之中
2014/07/10 DOTA
python生成器的使用方法
2013/11/21 Python
python合并文本文件示例
2014/02/07 Python
Python实现简单查找最长子串功能示例
2019/02/26 Python
Python代码中如何读取键盘录入的值
2020/05/27 Python
Python pysnmp使用方法及代码实例
2020/08/24 Python
2019年Java 最常见的 面试题
2016/10/19 面试题
简历中求职的个人自我评价
2013/12/03 职场文书
优秀的自荐信要注意哪些
2014/01/03 职场文书
安全责任书模板
2014/07/22 职场文书
战略合作意向书
2014/07/29 职场文书
格列夫游记读书笔记
2015/07/01 职场文书
学法用法心得体会(2016推荐篇)
2016/01/21 职场文书
初中生物教学反思
2016/02/20 职场文书
MySQL 全文检索的使用示例
2021/06/07 MySQL
Python移位密码、仿射变换解密实例代码
2021/06/27 Python