用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数据清洗系列之字符串处理详解
Feb 12 Python
python实现在pandas.DataFrame添加一行
Apr 04 Python
解决pycharm界面不能显示中文的问题
May 23 Python
python 反向输出字符串的方法
Jul 16 Python
Python3安装pip工具的详细步骤
Oct 14 Python
Django 创建后台,配置sqlite3教程
Nov 18 Python
用python画一只可爱的皮卡丘实例
Nov 21 Python
python 实现图片上传接口开发 并生成可以访问的图片url
Dec 18 Python
sqlalchemy实现时间列自动更新教程
Sep 02 Python
python hmac模块验证客户端的合法性
Nov 07 Python
Python数据分析库pandas高级接口dt的使用详解
Dec 11 Python
Python用tkinter实现自定义记事本的方法详解
Mar 31 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生成随机密码的几种方法
2011/01/17 PHP
PHP 5.3 下载时 VC9、VC6、Thread Safe、Non Thread Safe的区别分析
2011/03/28 PHP
使用php统计字符串中中英文字符的个数
2013/06/23 PHP
PHP启动windows应用程序、执行bat批处理、执行cmd命令的方法(exec、system函数详解)
2014/10/20 PHP
php支付宝接口用法分析
2015/01/04 PHP
PHP获取某个月最大天数(最后一天)的方法
2015/07/29 PHP
JS JavaScript获取Url参数,src属性参数
2021/03/09 Javascript
javascript中substr,substring,slice.splice的区别说明
2010/11/25 Javascript
google jQuery 引用文件,jQuery 引用地址集合(jquery 1.2.6至jquery1.5.2)
2011/04/24 Javascript
可自己添加html的伪弹出框实现代码
2013/09/08 Javascript
jQuery学习笔记之jQuery.extend(),jQuery.fn.extend()分析
2014/06/09 Javascript
JavaScript 控制字体大小设置的方法
2016/11/23 Javascript
Vue项目webpack打包部署到Tomcat刷新报404错误问题的解决方案
2018/05/15 Javascript
Vue 理解之白话 getter/setter详解
2019/04/16 Javascript
JavaScript实现的弹出遮罩层特效经典示例【基于jQuery】
2019/07/10 jQuery
vue中上传视频或图片或图片和文字一起到后端的解决方法
2019/12/01 Javascript
原生JS与JQ获取元素的区别详解
2020/02/13 Javascript
基于vue中的scoped坑点解说
2020/09/04 Javascript
Python入门篇之对象类型
2014/10/17 Python
python设计模式大全
2016/06/27 Python
python实现的AES双向对称加密解密与用法分析
2017/05/02 Python
Python实现字符串的逆序 C++字符串逆序算法
2020/05/28 Python
使用Anaconda3建立虚拟独立的python2.7环境方法
2018/06/11 Python
python3中sorted函数里cmp参数改变详解
2020/03/12 Python
python 利用panda 实现列联表(交叉表)
2021/02/06 Python
html5指南-5.使用web storage存储键值对的数据
2013/01/07 HTML / CSS
Perfume’s Club英国官网:购买香水和护肤品
2019/11/02 全球购物
德国婴儿服装和婴儿用品购买网站:Baby Sweets
2019/12/08 全球购物
请说出几个常用的异常类
2013/01/08 面试题
OLEDBConnection和SQLConnection有什么区别
2013/05/31 面试题
幼儿园母亲节活动方案
2014/03/10 职场文书
2015年三八妇女节活动总结
2015/02/06 职场文书
安全知识竞赛主持词
2015/06/30 职场文书
JavaScript实现队列结构过程
2021/12/06 Javascript
JMeter对MySQL数据库进行压力测试的实现步骤
2022/01/22 MySQL
Oracle 11g数据库使用expdp每周进行数据备份并上传到备份服务器
2022/06/28 Oracle