Python利用IPython提高开发效率


Posted in Python onAugust 10, 2016

一、IPython 简介

IPython 是一个交互式的 Python 解释器,而且它更加高效。

它和大多传统工作模式(编辑 -> 编译 -> 运行)不同的是, 它采用的工作模式是:执行 -> 探索 ,而大部分和数据分析相关的代

码都含有探索式操作(比如试误法和迭代法),所以 IPython 能大大提高编码效率。

IPython 发展到现在,它不仅仅只是一个加强版的 Python shell 了, 它集成了 GUI 控制台,这可以让你直接进行绘图操作;它还有一个基于 Web 的交互式笔记本和一个轻量级的快速并行的计算引擎。

二、编写代码

在 Terminal 中输入 ipython 既可启动 IPython。
如果需要使用 Matplotlib 库,则需要在启动的时候标记集成 Matplotlib 包,则启动命令改为:ipython --pylab

1. 学会使用 Tab 键

在输入代码的时候,如果这是一个前面已经输入过的内容(比如前面定义的变量),则只需要在 输入了前几个字母之后摁下 Tab 键即可自动补全。
IPython 拥有这个功能是对标准的 Python shell 的主要改进,这在其他语言的 IDE 中已经非常常见。

不仅能自动补全变量、对象等,像在 Terminal 中敲入命令一样 Tab 键还可以自动完成文件路径。

2. 上下箭头键,快速输入历史命令

当某条命令或代码需要反复输入的时候,不必每次都手动敲一遍,只需要使用上箭头键既可自动补全上一条命令;此时再继续摁上箭头键是上上条命令。

如果某个命令需要摁很多次上箭头键才能找到,此时只需要输入那条命令的前几个字母然后再摁上箭头键,即可只筛选符合前几个字母的命令。

3. 执行一个 .py 文件

如果想要执行一个外部的 .py 文件,使用 %run 命令,例如:

Python利用IPython提高开发效率

4. 查看相关代码的通用信息

当你需要查看一个变量或对象相关的通用信息的时候,在此变量后添加一个问号然后摁回车键即可。例如:

Python利用IPython提高开发效率

如果某个函数的包含 docstring,则在函数名后添加一个问号(?)也可以查看相关的 docstring 内容;
如果在函数名后添加两个问号(??),则可以显示该函数相关的源代码,例如:

Python利用IPython提高开发效率

5. 编码过程中相关的快捷键

     Ctrl+F 光标前移1个字符

     Ctrl+B 光标后移1个字符

     Ctrl+A 光标移至行首

     Ctrl+E 光标移至行尾

     Ctrl+U 删除此行光标之前的所有内容

     Ctrl+K 删除此行光标之后的所有内容

     Ctrl+L 清屏(Mac 下 Cmd+K 也可以)

三、调试代码

1. 代码发生异常后启动调试器

在代码发生异常后,输入 %debug 命令会启动调试器并自动跳转到“事发地点”:

Python利用IPython提高开发效率

输入 q 命令退出调试器。

2. 单步执行

使用带 -d 选项的 %run 命令可以预先打开调试器,输入 s 单步进入函数调用,输入 n 命令执行到下一行代码,输入叹号(!)紧接着输入变量名可查看变量的值。例如:

Python利用IPython提高开发效率

这条命令如果再添加一个指定行号的选项(-b)即可在启动调试器时设置一个断点,例如:

Python利用IPython提高开发效率

总结

以上就是Python利用IPython提高开发效率的全部内容,希望本文对大家学习使用python有所帮助。

Python 相关文章推荐
Python实现网站文件的全备份和差异备份
Nov 30 Python
python实现简单中文词频统计示例
Nov 08 Python
python 类对象和实例对象动态添加方法(分享)
Dec 31 Python
浅谈pycharm下找不到sqlalchemy的问题
Dec 03 Python
pyqt5 lineEdit设置密码隐藏,删除lineEdit已输入的内容等属性方法
Jun 24 Python
如何通过python画loss曲线的方法
Jun 26 Python
Python计算机视觉里的IOU计算实例
Jan 17 Python
Android Q之气泡弹窗的实现示例
Jun 23 Python
anaconda3安装及jupyter环境配置全教程
Aug 24 Python
python中把元组转换为namedtuple方法
Dec 09 Python
Python关于OS文件目录处理的实例分享
May 23 Python
Pandas搭配lambda组合使用详解
Jan 22 Python
详解python如何调用C/C++底层库与互相传值
Aug 10 #Python
浅析python中的分片与截断序列
Aug 09 #Python
总结python爬虫抓站的实用技巧
Aug 09 #Python
教你用Type Hint提高Python程序开发效率
Aug 08 #Python
Python如何实现文本转语音
Aug 08 #Python
Python脚本处理空格的方法
Aug 08 #Python
基于Python实现对PDF文件的OCR识别
Aug 05 #Python
You might like
利用php+mysql来做一个功能强大的在线计算器
2010/10/12 PHP
php处理文件的小例子(解压缩,删除目录)
2013/02/03 PHP
php 注册时输入信息验证器的实现详解
2013/07/05 PHP
PHP实现使用优酷土豆视频地址获取swf播放器分享地址
2014/06/05 PHP
php基于双向循环队列实现历史记录的前进后退等功能
2015/08/08 PHP
PHP使用curl模拟post上传及接收文件的方法
2016/03/04 PHP
PHP实现的敏感词过滤方法示例
2019/03/06 PHP
网页里控制图片大小的相关代码
2006/06/13 Javascript
js插件方式打开pdf文件(浏览器pdf插件分享)
2013/12/20 Javascript
Bootstrap模态对话框的简单使用
2016/04/29 Javascript
微信小程序之GET请求的实例详解
2017/09/29 Javascript
vue集成百度UEditor富文本编辑器使用教程
2018/09/21 Javascript
详解Vue-axios 设置请求头问题
2018/12/06 Javascript
vue 中 elment-ui table合并上下两行相同数据单元格
2019/12/26 Javascript
element日历calendar组件上月、今天、下月、日历块点击事件及模板源码
2020/07/27 Javascript
vant 中van-list的用法说明
2020/11/11 Javascript
Python实现高效求解素数代码实例
2015/06/30 Python
Python语言的面相对象编程方式初步学习
2016/03/12 Python
Python的面向对象编程方式学习笔记
2016/07/12 Python
python实现下载文件的三种方法
2017/02/09 Python
Python 实现购物商城,含有用户入口和商家入口的示例
2017/09/15 Python
使用python实现ftp的文件读写方法
2019/07/02 Python
在OpenCV里实现条码区域识别的方法示例
2019/12/04 Python
解决Jupyter无法导入已安装的 module问题
2020/04/17 Python
浅谈django 重载str 方法
2020/05/19 Python
浅析HTML5中header标签的用法
2016/06/24 HTML / CSS
JD Sports意大利:英国篮球和运动时尚的领导者
2017/10/29 全球购物
NFL加拿大官方网上商店:NHLShop.ca
2019/03/12 全球购物
耐克亚太地区:Nike APAC
2019/12/07 全球购物
Boolean b = new Boolean(“abcde”); 会编译错误码
2013/11/27 面试题
单位介绍信范文
2014/01/18 职场文书
平安建设工作方案
2014/06/02 职场文书
人力资源本科毕业生求职信
2014/06/04 职场文书
教师自我剖析材料(群众路线)
2014/09/29 职场文书
PyQt5 显示超清高分辨率图片的方法
2021/04/11 Python
JavaGUI模仿QQ聊天功能完整版
2021/07/04 Java/Android