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之禅》中对于Python编程过程中的一些建议
Apr 03 Python
10 行 Python 代码教你自动发送短信(不想回复工作邮件妙招)
Oct 11 Python
在Python中增加和插入元素的示例
Nov 01 Python
详解Python的循环结构知识点
May 20 Python
Django使用unittest模块进行单元测试过程解析
Aug 02 Python
Python 使用 docopt 解析json参数文件过程讲解
Aug 13 Python
Python 日志logging模块用法简单示例
Oct 18 Python
py-charm延长试用期限实例
Dec 22 Python
Python开发企业微信机器人每天定时发消息实例
Mar 17 Python
虚拟环境及venv和virtualenv的区别说明
Feb 05 Python
Django和Ueditor自定义存储上传文件的文件名
Feb 25 Python
详解运行Python的神器Jupyter Notebook
Jun 03 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
ThinkPHP实现二级循环读取的方法
2014/11/03 PHP
php判断表是否存在的方法
2015/06/18 PHP
PHP输出图像imagegif、imagejpeg与imagepng函数用法分析
2016/11/14 PHP
TP5(thinkPHP框架)实现后台清除缓存功能示例
2019/05/29 PHP
window.location.hash 属性使用说明
2010/03/20 Javascript
鼠标移入移出事件改变图片的分辨率的两种方法
2013/12/17 Javascript
js运动应用实例解析
2015/12/28 Javascript
javascript事件绑定学习要点
2016/03/09 Javascript
15分钟深入了解JS继承分类、原理与用法
2019/01/19 Javascript
Angular如何由模板生成DOM树的方法
2019/12/23 Javascript
JavaScript代码异常监控实现过程详解
2020/02/17 Javascript
JS eval代码快速解密实例解析
2020/04/23 Javascript
Angular5整合富文本编辑器TinyMCE的方法(汉化+上传)
2020/05/26 Javascript
vue中实现图片压缩 file文件的方法
2020/05/28 Javascript
Python实现抓取网页并且解析的实例
2014/09/20 Python
深入探究Python中变量的拷贝和作用域问题
2015/05/05 Python
Python零基础入门学习之输入与输出
2019/04/03 Python
Python、 Pycharm、Django安装详细教程(图文)
2019/04/12 Python
django实现支付宝支付实例讲解
2019/10/17 Python
python实现数据清洗(缺失值与异常值处理)
2019/12/02 Python
python Manager 之dict KeyError问题的解决
2019/12/21 Python
python使用隐式循环快速求和的实现示例
2020/09/11 Python
python 读取yaml文件的两种方法(在unittest中使用)
2020/12/01 Python
CSS3中的弹性布局em运用入门详解 1em等于多少像素
2021/02/08 HTML / CSS
假日旅行社实习自我鉴定
2013/09/24 职场文书
高三自我鉴定
2013/10/23 职场文书
工作室成员个人发展规划范文
2014/01/24 职场文书
反邪教宣传工作方案
2014/05/07 职场文书
英文演讲稿
2014/05/15 职场文书
农村门前三包责任书
2014/07/25 职场文书
小学关爱留守儿童活动方案
2014/08/25 职场文书
三严三实学习心得体会
2014/10/13 职场文书
数学教师个人工作总结
2015/02/06 职场文书
一个成功的互联网创业项目,必须满足这些要求
2019/08/23 职场文书
Django基础CBV装饰器和中间件
2022/03/22 Python
基于Python实现将列表数据生成折线图
2022/03/23 Python