用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 18 Python
Python THREADING模块中的JOIN()方法深入理解
Feb 18 Python
python清除指定目录内所有文件中script的方法
Jun 30 Python
全面了解Python环境配置及项目建立
Jun 30 Python
Python 常用 PEP8 编码规范详解
Jan 22 Python
详解django.contirb.auth-认证
Jul 16 Python
Python从ZabbixAPI获取信息及实现Zabbix-API 监控的方法
Sep 17 Python
python 不同方式读取文件速度不同的实例
Nov 09 Python
VPS CENTOS 上配置python,mysql,nginx,uwsgi,django的方法详解
Jul 01 Python
Python中变量的输入输出实例代码详解
Jul 28 Python
使用Bazel编译TensorBoard教程
Feb 15 Python
python+django+selenium搭建简易自动化测试
Aug 19 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访问MYSQL数据库封装类(附函数说明)
2010/12/04 PHP
PHP学习之正则表达式
2011/04/17 PHP
Smarty的配置与高级缓存技术分享
2012/06/05 PHP
学习php设计模式 php实现桥梁模式(bridge)
2015/12/07 PHP
PHP加密技术的简单实现
2016/09/04 PHP
Laravel6.18.19如何优雅的切换发件账户
2020/06/14 PHP
070823更新的一个[消息提示框]组件 兼容ie7
2007/08/29 Javascript
js 字符串操作函数
2009/07/25 Javascript
cookie 最近浏览记录(中文escape转码)具体实现
2013/06/08 Javascript
对于Form表单reset方法的新认识
2014/03/05 Javascript
javascript判断是手机还是电脑访问网页的简单实例分享
2014/06/03 Javascript
PHP PDO操作总结
2014/11/17 Javascript
AngularJS内置指令
2015/02/04 Javascript
浅谈Javascript中Object与Function对象
2015/09/26 Javascript
javascript类型系统 Window对象学习笔记
2016/01/07 Javascript
修复jQuery tablesorter无法正确排序的bug(加千分位数字后)
2016/03/30 Javascript
jQuery网页定位导航特效实现方法
2016/12/19 Javascript
Ajax实现不刷新取最新商品
2017/03/01 Javascript
JS实现动态添加DOM节点和事件的方法示例
2017/04/28 Javascript
require.js与bootstrap结合实现简单的页面登录和页面跳转功能
2017/05/12 Javascript
深入理解React Native原生模块与JS模块通信的几种方式
2017/07/24 Javascript
js实现二级联动简单实例
2020/01/11 Javascript
详解Python当中的字符串和编码
2015/04/25 Python
python抓取需要扫微信登陆页面
2019/04/29 Python
Django 表单模型选择框如何使用分组
2019/05/16 Python
python原类、类的创建过程与方法详解
2019/07/19 Python
浅析python内置模块collections
2019/11/15 Python
python GUI库图形界面开发之PyQt5控件数据拖曳Drag与Drop详细使用方法与实例
2020/02/27 Python
THE OUTNET英国官网:国际设计师品牌折扣网站
2016/08/14 全球购物
巴西独家产品和现场演示购物网站:Shoptime
2019/07/11 全球购物
如果NULL和0作为空指针常数是等价的,那我到底该用哪一个
2014/09/16 面试题
获奖的大学生创业计划书
2014/01/05 职场文书
11月红领巾广播稿
2014/01/17 职场文书
2014年置业顾问工作总结
2014/11/17 职场文书
先进个人申报材料
2014/12/30 职场文书
python基础之停用词过滤详解
2021/04/21 Python