机器学习

强大的Python增强版交互式命令行工具——IPython

2017-11-22  本文已影响696人  m2fox

本文主要介绍IPython这样一个交互工具的基本用法。

1. 简介

IPython是《利用Python进行数据分析》一书中主要用到的Python开发环境,简单来说是对原生python交互环境的增强。作者进行Python开发最经典的开发环境搭配是:IPython外加一个文本编辑器。其实我自己平时写python代码也差不多是这样的开发环境:Windows系统下是IPython加notepad++,Linux系统下是IPython加vim,写起代码来体验很流畅,很容易获取到写代码时候的那种“流体验”。

书中讲到,IPython的设计目的是在交互式计算和软件开发这两个方面最大化地提高生产力,它鼓励一种“执行-探索”的工作模式,支持matplotlib等库的绘图操作。同时IPython还提供一个基于WEB的交互式浏览器开发环境(Jupyter Notebook),用起来也很不错。

2. 基础用法

1. Tab键自动补全

和其他命令行环境的Tab自动补全功能类似,不过会隐藏那些以下划线开头的方法和属性(为了防止内容太多)。厉害的是哪怕是在python字符串中也可以自动补全类似文件路径的字符串。比如:


2. 内省

在方法或变量的前面或后面加一个问号(?)就可以将有关该方法或变量的一些通用信息都显示出来,这叫做内省;使用??还可以显示函数的源代码。见下:



3. ?和通配符结合使用搜索命名空间

4. %run命令

%run xxx.py:可以执行一个python脚本xxx.py,脚本是在一个空的命名空间中运行的。成功运行脚本后,在IPython中可以使用脚本中定义的变量和函数。
如果希望在脚本中能访问IPython之前定义的变量和函数,那么需要用-i参数执行:
%run -i xxx.py

5. 执行剪贴板中的代码

%paste:直接执行。
%cpaste:可以修改后再执行。

6. IPython键盘快捷键

7. 魔术命令

%开头的一些命令,比如%run就是一个魔术命令,可以使用%run?来查看其详细用法。

8. 打开pylab模式:

启动IPython时使用:ipython --pylab,这样就可以在IPython命令行中进行绘图等操作了,如下:

9. 输入和输出变量

最近的两个输出结果分别保存在下划线和双下划线两个变量中,如下:


10. 记录输入输出过的变量

某一行的输入变量:_iX(X为行号)
某一行的输出变量:_X(X为行号)
见下:

11. 清理命名空间

当处理大数据集时,IPython的输入输出历史会影响到大量的变量的内存释放,所以及时用%xdel%reset清理还是很有必要的。

12. 记录日志

记录输入和输出日志:%logstart -o,将记录整个会话的日志(包括之前的命令),使用详情可以用%logstart?命令查看。

13. 与操作系统交互

14. 在执行shell命令时使用IPython环境中的变量

如下:


15. 使用书签

如下:


3. 进阶用法

1. 代码执行时间分析

命令:%time%timeit,如下:



2. IPython HTML Notebook

HTML Notebook是在浏览器中使用的交互式环境,现在最新版本又叫做Jupyter Notebook,功能很强大,完全是一个B/S模式的IDE,体验非常棒。可以用以下命令打开:

3. IPython个性化配置

配置文件在如下目录:
Unix:~/.config/ipython/
Windows:%HOME%/.ipython/
根据配置文件中的注释,即可修改相应的配置。

上一篇 下一篇

猜你喜欢

热点阅读