ipython是一个python的交互式shell,比默认的python shell好用得多,支持变量自动补全,自动缩进,支持bash shell命令,内置了许多颇有用的功能和函数。学习ipython将会让咱们以一种更高的效率来使用python。同时它也是利用Python进行科学计算和交互可视化的一个最佳的平台。python
1.一个强大的python交互式shell
2.供Jupyter notebooks使用的一个Jupyter内核(IPython notebook)web
1.运行ipython控制台
2.使用ipython做为系统shell
3.使用历史输入(history)
4.Tab补全
5.使用%run命令运行脚本
6.使用%timeit命令快速测量时间
7.使用%pdb命令快速debug
8.使用pylab进行交互计算
9.使用IPython Notebookshell
ipython支持Python2.7版本或者3.3以上的版本,我用的是windows下的python 3.4版本。windows
安装ipython很简单,能够直接使用pip管理工具便可:数组
pip install ipython
这条命令会自动安装IPython以及它的各类依赖包浏览器
若是咱们也想在notebook中或者在Qt console中使用IPython,咱们还须要安装Jupyter,以下命令:bash
pip install jupyter
另外咱们还可能须要安装一些用到的库:服务器
NumPy高性能多维数组矢量运算库:函数
pip install numpy
Matplotlib绘图以及交互式可视化:工具
pip install matplotlib
IPython支持全部python的标准输入输出,也就是咱们在IDLE中或者Python shell中能用的,在IPython中都可以使用,惟一的不一样之处使ipython会使用In [x]和Out [x]表示输入输出,并表示出相应的序号。
其实后面咱们会知道,In和Out是两个保存历史信息的变量
进入IPython也很是简单,直接win + R打开运行,而后输入ipython便可进入IPython shell交互框;
或者输入
除此以外,ipython支持一些更高级的功能。
在shell中输入表达式时,只要按下Tab键,当前命名空间中任何与输入的字符串相匹配的变量(对象或者函数等)就会被找出来:
这时能够经过键盘的向下翻页键找到本身须要的对象。
在变量的前面或者后面加上一个问号?,就能够将有关该对象的一些通用信息显示出来,这就叫作对象的内省。
若是对象是一个函数或者实例方法,则它的docstring也会被显示出来:
定义方法以下:
这时查看该方法的内省信息:
若是使用两个问号??,那么还能够显示出该方法的源代码:
另外,咱们可使用通配符字符串查找出全部与该通配符字符串相匹配的名称,好比咱们查找re模块下全部的包含find的函数:
在IPython shell中,使用历史命令能够简单地使用上下翻页键便可,另外咱们也可使用hist命令(或者history命令)查看全部的历史输入。(正确的作法是使用%hist,在这里,%hist也是一个魔法命令)
若是在hist命令以后加上-n,即hist -n也能够显示出输入的序号:
在任何的交互会话中,咱们的输入历史和输出历史都会被保存在In和Out变量中,并被序号进行索引。
另外,_,__,___和_i,_ii,_iii变量保存着最后三个输出和输入对象。_n和_in(这里的n表示具体的数字)变量返回第n个输出和输入的历史命令。好比:
在ipython会话环境中,全部文件均可以经过%run命令当作Python程序来运行,输入%run 路径+python文件名称便可
在一个交互式会话中,咱们可使用%timeit魔法命令快速测量代码运行时间。相同的命令会在一个循环中屡次执行,屡次运行时长的平均值做为该命令的最终评估时长。-n 选项能够控制命令在单词循环中执行的次数,-r选项控制执行循环的次数。
ipython带有一个强大的调试器。不管什么时候控制台抛出了一个异常,咱们均可以使用%debug魔法命令在异常点启动调试器。接着你就能调试模式下访问全部的本地变量和整个栈回溯。使用u和d向上和向下访问栈,使用q退出调试器。在调试器中输入?能够查看全部的可用命令列表。
咱们也可使用%pdb魔法命令来激活IPython调试器,这样,每当异常抛出时,调试器就会自动运行。
%pylab魔法命令可使Numpy和matplotlib中的科学计算功能生效,这些功能被称为基于向量和矩阵的高效操做,交互可视化特性。它可以让咱们在控制台进行交互式计算和动态绘图。
在该示例中,咱们首先定义了一个-10到10的线性空间中的1000个数值的向量,接着咱们绘制了(x,sin(x))图像,这样咱们就成功绘制出了sin(x)的函数图像:
咱们能够在IPython中直接使用系统shell,并获取读取结果做为一个Python字符串列表。为了实现这种功能,咱们须要使用感叹号!做为shell命令的前缀。好比如今在个人windows系统中,直接在IPython中ping百度:
一个有趣的事情是,在IPython中调用系统shell能够再次进入一个新的IPython shell中,以下:
固然,通常没人会这么干。
IPython Notebook使用浏览器做为界面,向后台的IPython服务器发送请求,并显示结果。在浏览器的界面中使用单元(Cell)保存各类信息。Cell有多种类型,须要强调的是,它也支持MarkDown语法,因此能够有MarkDown格式化文本单元,也能够有表示代码的Code单元。
IPython Notebook有一个重要的特色就是:可重复性的互动计算,这意味着咱们能够重复更改而且执行曾经的输入记录。它能够保存成其余不少格式,好比Python脚本,HTML,PDF等,因此它能够记录咱们的演算过程。不少课程,博客以及书籍都是用Notebook写的。
若是执行了上文中IPython的安装过程,IPython Notebook已经算是安装好了。怎么测试呢?Win + R打开运行窗口,输入ipython notebook,若是正确安装的话,这个命令就会默认在本地8888端口启动一个web服务,并
自动打开以下页面:
咱们能够点击当前目录下的Notebook文件进行编辑,也能够新建Notebook:
编辑Notebook能够选择代码模式和文本编辑模式,也能够导出各类不一样格式的文件:
因为IPython Notebook是基于Web服务模式的,因此咱们能够在远程服务器打开IPython服务器,在本地客户端启动IPython Web交互界面,这样能够很方便地操做远程数据
在一个输入框即Cell中使用回车即Enter键,表示换行,也就是说一个Cell中能够输入多条语句。
一个Cell中的命令能够由两种方式运行:
Shift + Enter小格内的全部代码将会在当前的IPython交互命名空间中运行,运行结果将会当即在输入框下面的输出区域显示,且一个新的输入框会出现。Ctrl + Enter组合键只会显示运行结果而不会建立新的输入框咱们也可使用上面的菜单栏和工具栏对Cell进行各类增删复制粘贴等操做