用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自定义进程池实例分析【生产者、消费者模型问题】
Sep 19 Python
Python3实现发送QQ邮件功能(附件)
Dec 23 Python
教你用一行Python代码实现并行任务(附代码)
Feb 02 Python
Python递归实现汉诺塔算法示例
Mar 19 Python
PyTorch CNN实战之MNIST手写数字识别示例
May 29 Python
python 定义给定初值或长度的list方法
Jun 23 Python
python leetcode 字符串相乘实例详解
Sep 03 Python
python 接收处理外带的参数方法
Dec 03 Python
python实现从本地摄像头和网络摄像头截取图片功能
Jul 11 Python
python GUI图形化编程wxpython的使用
Jul 19 Python
Django上使用数据可视化利器Bokeh解析
Jul 31 Python
深入浅析Python 命令行模块 Click
Mar 11 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/04/09 PHP
php实现mysql连接池效果实现代码
2018/01/25 PHP
[原创]图片分页查看
2006/08/28 Javascript
深入认识javascript中的eval函数
2009/11/02 Javascript
js 键盘记录实现(兼容FireFox和IE)
2010/02/07 Javascript
javascript写的日历类(基于pj)
2010/12/28 Javascript
ExtJs使用总结(非常详细)
2012/03/22 Javascript
js中typeof的用法汇总
2013/12/12 Javascript
jQuery右侧选项卡焦点图片轮播特效代码分享
2015/09/05 Javascript
js实现图片无缝滚动
2015/12/23 Javascript
javaScript 事件绑定、事件冒泡、事件捕获和事件执行顺序整理总结
2016/10/10 Javascript
jQuery封装animate.css的实例
2018/01/04 jQuery
微信小程序页面缩放式侧滑效果的实现代码
2018/11/15 Javascript
Js和VUE实现跑马灯效果
2020/05/25 Javascript
Json实现传值到后台代码实例
2020/06/30 Javascript
JavaScript封装单向链表的示例代码
2020/09/17 Javascript
python里使用正则表达式的组嵌套实例详解
2017/10/24 Python
简单了解python的一些位运算技巧
2019/07/13 Python
解决django 新增加用户信息出现错误的问题
2019/07/28 Python
详解Django3中直接添加Websockets方式
2020/02/12 Python
Mysql数据库反向生成Django里面的models指令方式
2020/05/18 Python
可以随进度显示不同颜色的css3进度条分享
2014/04/11 HTML / CSS
杰夫·班克斯男士服装网上商店:Jeff Banks
2019/10/24 全球购物
应届生财务管理求职信
2013/11/06 职场文书
大学班级文化建设方案
2014/05/06 职场文书
反邪教标语
2014/06/23 职场文书
店面出租协议书范本
2014/11/28 职场文书
前台接待岗位职责
2015/02/03 职场文书
酒店服务员岗位职责
2015/02/09 职场文书
专职安全员岗位职责
2015/04/11 职场文书
2015年社区计生工作总结
2015/04/21 职场文书
python 如何在list中找Topk的数值和索引
2021/05/20 Python
Netty结合Protobuf进行编解码的方法
2021/06/26 Java/Android
Java实现聊天机器人完善版
2021/07/04 Java/Android
使用 Apache Superset 可视化 ClickHouse 数据的两种方法
2021/07/07 Servers
Java 使用类型为Object的变量指向任意类型的对象
2022/04/13 Java/Android