在一次师兄(师兄博客地址)的例会汇报中,介绍了ipython notebook,当时觉得很酷炫,渐渐自己使用的时候才发现真的很强大。抽空整理下,找了些资料进行补充,并挨个进行了实现,留个笔记,也欢迎喜欢Python编程的码农使用。有不全的欢迎补充。

IPython notebook目前已经成为用Python做教学、计算、科研的一个重要工具。关于其发展,以及介绍,感兴趣可以找文献阅读。本文主要讲解的是它的基本用法和技巧。

IPython Notebook使用浏览器作为界面,向后台的IPython服务器发送请求,并显示结果。

Ipython使用了websocket,它是不支持IE的.一般用Chrome就好了.

好, 说了这么多,我们打开先看下,打开方式很简单,直接cmd进入到你要创建的目录下,然后输入命令:ipython notebook(现在升级了,打开主页显示的是jupyter,所以也可以使用jupyter notebook命令)。

可以看到在浏览器界面中使用单元(Cell)保存各种信息。Cell有多种类型,经常使用的有表示代码的Code单元,和表示格式化文本的Markdown单元。

每个代码单元都有一个输出区域,在Code单元中输入代码,按 Ctrl-Enter 将运行此代码,代码中最后一个表达式的值将输出区域显示。如果希望屏蔽输出,可以在最后一条语句之后添加一个分号:”;”。此外,代码中还可以使用print语句在输出区域中显示信息。

与IPython一样,在cell中可以直接按tab键,可以自动补全,超级实用。

Markdown文本

具体可以参考https://maxiang.io/或者其他文档

  • 文本编辑

Markdown 是一种用来写作的轻量级「标记语言」,它用简洁的语法代替排版,而不像一般我们用的字处理软件 Word 或 Pages 有大量的排版、字体设置。它使我们专心于码字,用「标记」语法,来代替常见的排版格式。

  • 数学公式

可以使用LaTeX公式

创建行内公式,例如 $\Gamma(n) = (n-1)!\quad\forall n\in\mathbb N$。

或者块级公式: $$ x = \dfrac{-b \pm \sqrt{b^2 - 4ac}}{2a} $$

  • 代码块

可以直接在页面输出代码块,只需要在前后加上```代码块 ```即可。

  • 表格

可以使用markdown标记生成表格

嵌入图片

嵌入音乐

可以嵌入本地音乐和网络音乐

嵌入视频

网络视频

本地视频

嵌入网页

嵌入链接

魔法命令

所有以%开头的方法,都是所谓的魔术方法(Magic function),也就是ipython内置的一些方法。需要注意的是,魔术方法有%和%%之分,比如%timeit%%timeit。在ipython中有专门的叫法,前者叫line magic后者叫cell magic。顾名思义,前者是专门针对一行的命令,后者针对多行的命令。

通过%lsmagis可以查看所有的magic命令,使用?或者??可以查看该命令的信息,后者可以查看源码。如: %alias?,会出现该方法的描述。

接下来对一些常用的进行展示:

  • 加载文件

  • 执行文件

run命令还可以附加选项,常用的有-t选项,这个会在脚本执行完后,打印出执行的cpu timings。如果指定了-t选项,后面可以跟一个-Nx,x代表一个数字。表示重复执行x次。

另外比较好用的是-d选项,这个会在pdb中运行脚本。后跟-bxx打断点。

还有一个-p选项,这个选项会开启python profiler,从而打印出详细的执行时间、函数调用等等信息供优化参考。

  • 嵌入绘图

在网页中嵌入绘图库绘制的图形,可以使用%matplotlib inline或者%pylab inline启动这个功能。还可以启动ipython后台服务器时,在命令行下输入ipython notebook --matplotlib inline或ipython notebook --pylab inline。这样的话它就会导入pylab(mathplotlib)库.而且显示图片时可以嵌在网页中的。

  • 执行效率

这个命令用来测试一条命令执行的时间,一般而且,会重复100次运行这个命令,然后取出最好的3个结果取平均值。

还可以指定选项。

-n指定重复次数,默认100

-r是取多少个结果的平均值,默认是3

还有很多的magic命令,就不一一列举,感兴趣可以自己去尝试。


参考:http://hyry.dip.jp/tech/slice/slice.html/35

http://kochiya.me/www/posts/Ipython!.html

http://www.cnblogs.com/zhuangzhuang1988/archive/2012/11/19/2777195.html

http://nbviewer.ipython.org/github/ipython/ipython/blob/3.x/examples/Index.ipynb

ipython notebook使用教程的更多相关文章

  1. ipython+notebook使用教程(转载)

    ipython是python交互环境的增强版 IPython notebook目前已经成为用Python做教学.计算.科研的一个重要工具.IPython Notebook使用浏览器作为界面,向后台的I ...

  2. jupyter(ipython notebook) 安装和入门教程

    近期大家无论是自己做数据分析还是紧急答辩做PPT,可能都需要画一些数据的展示图:以前大家都是用excel画图,但excel画图存在一定的局限性,比如你要画个累积直方图,excel就很麻烦了,所以给大家 ...

  3. Python,Jupyter Notebook,IPython快速安装教程

    0.安装环境 Windows10,Python3.5.1,IPython,jupyter notebook,and other functionality 官方安装文档Linux版3.x 官方安装文档 ...

  4. Ipython的安装/ipython notebook的简单使用

    安装了pyhton的windows版的shell好久了,今天才听说Ipython这个东西,确实在windows下的python shell很难用,一旦输入错误就要重新来过 了解了下ipython,然后 ...

  5. 在Linux服务器上运行Jupyter notebook server教程

    在Linux服务器上运行Jupyter notebook server教程 很多deep learning教程都推荐在jupyter notebook运行python代码,方便及时交互.但只在本地运行 ...

  6. 安装ipython notebook及基本命令(快捷键)

    转载自:http://121.42.47.99/yuenshome/wordpress/?p=2622 目前基本上是Pycharm和ipython notebook结合起来做东西,ipython no ...

  7. Jupyter Notebook使用教程

    关于安装我就不说了,可以参考知乎https://zhuanlan.zhihu.com/p/33105153(总结的很全面) 首先打开Jupyter Notebook后,新建notebook:点击右上角 ...

  8. [转]IPython Notebook简介1

    原文:http://hyry.dip.jp/tech/slice/slice.html/35 Python Notebook简介1 作者 : RY    标签: cython ipython-note ...

  9. 向IPython Notebook中导入.py文件

    IPython Notebook使用起来简洁方便,但是有时候如果需要导入一个现有的.py文件,则需要注意选择导入的方法以达到不同的效果.目前遇到3种方法. (1) 将文件保存为.ipynb格式,直接拖 ...

随机推荐

  1. windows 2003 搭建一个vpn

    最近从Photonvps.com 租了一台windows主机用来测试网站,512MB的内存,35GB的硬盘空间,每个月500GB的流量和2个独立IP地址.我感觉价格偏贵,不过售后服务还是蛮不错的,每次 ...

  2. 读书笔记之 - javascript 设计模式 - 接口、封装和链式调用

    javascript 采用设计模式主要有下面的三方面原因: 可维护性:设计模式有助于降低模块之间的耦合程度.这使代码进行重构和换用不同的模块变得容易,也使程序员在大型项目中合作变得容易. 沟通:设计模 ...

  3. LVS单机测试不负载

    LVS单机测试不负载 1.困惑 当我们在个人PC上搭建虚拟机(Vmware)做LVS负载实验的时候,我们不论是在个人浏览器或者其他虚拟机上访问LVS的VIP都会出现上时间刷新都出现同一个页面的情况. ...

  4. 【原创】史上最全的Android开发环境搭建

    开始学习Android了 看着眼花缭乱的教程真心无奈...So  无耻的来了个大综合 自己充当了小白鼠.. (PS 若文章中链接失效 请留言反馈me会尽快修复) 开始的开始 java运行环境还是很必要 ...

  5. c++builder调用vc的dll

    $bcb/bin目录中有个implib.exe 把你的vc.dll和implib.exe复制到c盘根目录下 运行cmd 进入c盘根目录执行 c:\implib -a cb.lib vc.dll 会生成 ...

  6. HttpRequest 和HttpWebRequest的区别

    [1]问题: asp.NET C#  中HttpRequest 和HttpWebRequest的区别 HttpRequest 与HttpWebRequest 有什么区别? 网上中文的帖子很多,但是答案 ...

  7. 40个Android问题

    1. Android的四大组件是哪些,它们的作用? 答:Activity:Activity是Android程序与用户交互的窗口,是Android构造块中最基本的一种,它需要为保持各界面的状态,做很多持 ...

  8. 【产品体验】ONE一个

    第二篇博客,加油加油~~本人产品新人,学习中,希望大家多多指教!  先来两张ONE的界面图镇楼——        ONE简介: “复杂世界里,一个就够了.”这是一款轻量级的文艺阅读应用,每日更新一张图 ...

  9. NHibernate configuration

    http://blog.csdn.net/dbcolor/article/details/2061929

  10. nodejs and socket.io and iisnode

    http://www.amazedsaint.com/2011/09/creating-10-minute-todo-listing-app-on.html http://www.cnblogs.co ...