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退出。
输入一个函数或模块之后,接着输入??,可以查看对象源码,仅限python。
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)调试命令如下:
可输入s,对单句调用进行调试,显示中间变量
(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()这句后会自动进入断点调试模式