用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进阶教程之词典、字典、dict
Aug 29 Python
实例讲解Python中global语句下全局变量的值的修改
Jun 16 Python
用python 批量更改图像尺寸到统一大小的方法
Mar 31 Python
python设置值及NaN值处理方法
Jul 03 Python
使用python实现滑动验证码功能
Aug 05 Python
Python随机函数库random的使用方法详解
Aug 21 Python
Python 仅获取响应头, 不获取实体的实例
Aug 21 Python
pytorch::Dataloader中的迭代器和生成器应用详解
Jan 03 Python
Django def clean()函数对表单中的数据进行验证操作
Jul 09 Python
python 如何实现遗传算法
Sep 22 Python
python编程的核心知识点总结
Feb 08 Python
Django基础CBV装饰器和中间件
Mar 22 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中养成7个面向对象的好习惯
2010/01/28 PHP
php站内搜索关键词变亮的实现方法
2014/12/30 PHP
详解PHP的Yii框架中日志的相关配置及使用
2015/12/08 PHP
讲解WordPress中用于获取评论模板和搜索表单的PHP函数
2015/12/28 PHP
PHP过滤器 filter_has_var() 函数用法实例分析
2020/04/23 PHP
JS request函数 用来获取url参数
2010/05/17 Javascript
javascript loadScript异步加载脚本示例讲解
2013/11/14 Javascript
javascript 数组操作详解
2015/01/29 Javascript
在Node.js应用中读写Redis数据库的简单方法
2015/06/30 Javascript
jQuery实现只允许输入数字和小数点的方法
2016/03/02 Javascript
深入浅析Vue组件开发
2016/11/25 Javascript
Bootstrap Table快速完美搭建后台管理系统
2017/09/20 Javascript
微信小程序简单实现form表单获取输入数据功能示例
2017/11/30 Javascript
对mac下nodejs 更新到最新版本的最新方法(推荐)
2018/05/17 NodeJs
webpack4简单入门实例
2018/09/06 Javascript
详解Vue的七种传值方式
2021/02/08 Vue.js
Vue-router编程式导航的两种实现代码
2021/03/04 Vue.js
[03:08]迎霜节狂欢!2018年迎霜节珍藏Ⅰ一览
2018/12/25 DOTA
[01:16:12]完美世界DOTA2联赛PWL S2 FTD vs Inki 第一场 11.21
2020/11/23 DOTA
python将多个文本文件合并为一个文本的代码(便于搜索)
2011/03/13 Python
python同时给两个收件人发送邮件的方法
2015/04/30 Python
Python计算三角函数之asin()方法的使用
2015/05/15 Python
举例讲解Python中字典的合并值相加与异或对比
2016/06/04 Python
基于python 二维数组及画图的实例详解
2018/04/03 Python
matplotlib实现热成像图colorbar和极坐标图的方法
2018/12/13 Python
对Python 获取类的成员变量及临时变量的方法详解
2019/01/22 Python
python 在指定范围内随机生成不重复的n个数实例
2019/01/28 Python
python自制包并用pip免提交到pypi仅安装到本机【推荐】
2019/06/03 Python
pytorch 实现查看网络中的参数
2020/01/06 Python
python 爬虫爬取京东ps4售卖情况
2020/12/18 Python
使用纯HTML5编写一款网页上的时钟的代码分享
2015/11/16 HTML / CSS
空指针到底是什么
2012/08/07 面试题
月度优秀员工获奖感言
2014/08/16 职场文书
共青团员自我评价
2015/03/10 职场文书
SQL Server——索引+基于单表的数据插入与简单查询【1】
2021/04/05 SQL Server
MySQL表字段时间设置默认值
2021/05/13 MySQL