jupyter  notebook与ipython notebook

1、关系:jupyter notebook是一个交互式笔记本,前身是ipython notebook,后来从ipython独立出来,现支持40多种编程语言

2、二者快捷键相同,因此以下不再区分

3、启动:在终端命令jupyter  notebook,之后就可以启动jupyter  botebook编辑器,启动之后会自动打开浏览器,并访问http://localhost:8088/tree。(命令:ipython notebook,访问http://localhost:8888/tree)

[注意:浏览器的根目录为终端所在地址]

1、两种模式:command  mode和edit  mode。

在一个cell中按下enter就进入edit  mode(光标点击直接进入edit mode),按下Esc进入command  mode。

2、Cell快捷键

(1)创建与运行

在一个cell中(在command模式下)
     1. 按下 a ,即可在这个cell之前创建一个新的cell;
     2. 按下 b,即可在这个cell之后创建一个新的cell;

运行并选中下个cell:shift+enter

运行并创建cell:alt+enter

运行:ctrl+enter

(2)选择、删除、保存cell

删除:command模式下,在一个cell中,连续按两次d

保存编辑的内容:在command模式下,按s

选中多个代码块:Shift+(/);  选择:上下左右

跳转到第一个cell:ctrl+home

跳转到最后一个cell:ctrl+end

(3)复制粘帖与合并:

    剪切选中的代码块:x

    复制选中的代码块:c

    在当前块上方粘贴:shift+v

   在当前块下方粘贴: v

    与下方cell合并:shift+m

(4)code、markdown输入模式间切换:

command模式下,y转为code,m转为markdown

(5)显示行数:在command模式下,按l

(6)为一行或多行添加/取消注释:ctrl+/

    7)代码补全:Tab

3、误删恢复

查看历史命令:history

command下,按下z,撤销cell操作,只能撤销一次。

edit code下,ctrl+z,撤销命令行

4、内省

输入一个函数或模块之后,接着输入?,即可看到对应的帮助文档,有例程。有些文档比较长,可按空格键翻页,输入q退出。

jupyter notebook与python编程区别 ipython notebook和jupyter notebook_ipython

输入一个函数或模块之后,接着输入??,可以查看对象源码,仅限python。

jupyter notebook与python编程区别 ipython notebook和jupyter notebook_notebook_02

5、导入/运行python文件

导入python文件

(1)若是从本地导入python文件,可以直接使用%load  xxx.py,运行这个cell的方式也是shift+enter

(2)若是从网络中导入python代码,可以使用%load  http://.......

运行python文件

直接在cell中输入:%run  xxx.py

在cell中输入之后,直接使用shift+enter就可以执行cell中的内容,执行结果直接在这个cell的下面显示

注意:如果在程序中使用了matplotlib绘图,有时候是不能直接显示出来的,这时候需要使用加%matplotlib inline

6、magic关键字

Magic 关键字是可以在单元格中运行的特殊命令,能让你控制 notebook 本身或执行系统调用。
Magic 命令的前面带有一个或两个百分号(% 或 %%):
1. %:行 Magic 命令, 仅应用于编写 Magic 命令时所在的行;
2. %%:单元格 Magic 命令, 应用于整个cell (单元格);

和普通对象一样,magic方法也支持自省,可%run?查看帮助文档。

(1)timeit

timeit关键字用于测试运行的需要的时间,可以测试一个函数的运行时间,还可以测试一个cell运行需要的时间。如果要测试一个函数运行需要的时间,需要在一个函数的调用的前面加上%timeit,如:%timeit  A()。

如果要测试整个cell的运行时间,可以在cell的第一行使用%%timeit,然后从这一行的下一行开始写其他程序,这样就可以在运行这个cell的时候,把时间输出在这个cell的下面。

(2)%hist     查看输入历史

(3)%cat  a.py     查看a.py文件的内容

(4)%run -i a.py   执行文件,-i表示在当前命名空间进行;   此时会使用命名空间的变量,结果也会返回到当前命名空间

(5)%who   显示当前命名空间变量

(6)%env   查看系统环境变量

(7)%xdel  删除变量并删除在IPython的一切引用

          而del a,只能删除a变量,不能彻底释放空间

(8)%reset命令是指删除interactive命名空间中全部的变量名

7、调试%debug

(1)调试命令如下:

jupyter notebook与python编程区别 ipython notebook和jupyter notebook_notebook_03

可输入s,对单句调用进行调试,显示中间变量

jupyter notebook与python编程区别 ipython notebook和jupyter notebook_命名空间_04

(2)在IPython之外使用debug,需要安装调试器ipdb(pip install ipdb),再需要调试地方加入pdb.set_trace()。

用文本编辑器新建一个文档,就命名为debug1.py吧,输入最简单的Python代码片段:

import pdb 
a = "a string" 
b= "b string" 
pdb.set_trace() 
print("next step")

然后执行到pdb.set_trace()这句后会自动进入断点调试模式