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实现数据分析
Jan 11 Python
Python中执行存储过程及获取存储过程返回值的方法
Oct 07 Python
Python生成器以及应用实例解析
Feb 08 Python
python之pandas用法大全
Mar 13 Python
使用Python 正则匹配两个特定字符之间的字符方法
Dec 24 Python
Python中的十大图像处理工具(小结)
Jun 10 Python
Python Django切换MySQL数据库实例详解
Jul 16 Python
Python图像处理模块ndimage用法实例分析
Sep 05 Python
python函数声明和调用定义及原理详解
Dec 02 Python
python实现一个猜拳游戏
Apr 05 Python
Python 执行矩阵与线性代数运算
Aug 01 Python
python环境搭建和pycharm的安装配置及汉化详细教程(零基础小白版)
Aug 19 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目录导航文件代码
2006/10/09 PHP
PHP的AES加密算法完整实例
2016/07/20 PHP
jquery 注意事项与常用语法小结
2010/06/07 Javascript
javascript中的一些注意事项 更新中
2010/12/06 Javascript
js实现连个数字相加而不是拼接的方法
2014/02/23 Javascript
详解js的事件处理函数和动态创建html标记方法
2016/12/16 Javascript
原生JS实现圣旨卷轴展开效果
2017/03/06 Javascript
js中less常用的方法小结
2017/08/09 Javascript
使用use注册Vue全局组件和全局指令的方法
2018/03/08 Javascript
vue3.0 CLI - 2.1 -  component 组件入门教程
2018/09/14 Javascript
vue中进入详情页记住滚动位置的方法(keep-alive)
2018/09/21 Javascript
详解JavaScript原生封装ajax请求和Jquery中的ajax请求
2019/02/14 jQuery
element-ui 本地化使用教程详解
2019/10/28 Javascript
使用纯前端JavaScript实现Excel导入导出方法过程详解
2020/08/07 Javascript
微信小程序绘制半圆(弧形)进度条
2020/11/18 Javascript
python爬取网站数据保存使用的方法
2013/11/20 Python
Python获取文件所在目录和文件名的方法
2017/01/12 Python
python unittest实现api自动化测试
2018/04/04 Python
Python简易版图书管理系统
2019/08/12 Python
Django实现发送邮件找回密码功能
2019/08/12 Python
关于pandas的离散化,面元划分详解
2019/11/22 Python
通过 Python 和 OpenCV 实现目标数量监控
2020/01/05 Python
Keras 中Leaky ReLU等高级激活函数的用法
2020/07/05 Python
Python中logging日志记录到文件及自动分割的操作代码
2020/08/05 Python
Python3.9.1中使用split()的处理方法(推荐)
2021/02/07 Python
KIEHL’S科颜氏官方旗舰店:源自美国的顶级护肤品牌
2018/06/07 全球购物
Hotels.com加拿大:领先的在线住宿网站
2018/10/05 全球购物
关于Java String的一道面试题
2013/09/29 面试题
DIY蛋糕店的创业计划书范文
2013/12/26 职场文书
运输企业安全生产责任书
2014/07/28 职场文书
中学生思想品德评语
2014/12/31 职场文书
品质保证书格式
2015/02/28 职场文书
2015初中团支部工作总结
2015/07/21 职场文书
整理Python中常用的conda命令操作
2021/06/15 Python
Pygame Time时间控制的具体使用详解
2021/11/17 Python
Python  lambda匿名函数和三元运算符
2022/04/19 Python