Jupyter Notebook
Magic关键字
Magic 关键字
Magic 关键字是可以在单元格中运行的特殊命令,能让你控制 notebook 本身或执行系统调用(例如更改目录)。例如,可以使用%matplotlib
将 matplotlib 设置为以交互方式在 notebook 中工作。
Magic 命令的前面带有一个或两个百分号(%
或%%
),分别对应行 Magic 命令和单元格 Magic 命令。
行 Magic 命令仅应用于编写 Magic 命令时所在的行,而单元格 Magic 命令应用于整个单元格。
注意:这些 Magic 关键字是特定于普通 Python 内核的关键字。如果使用其他内核,这些关键字很有可能无效。
代码计时
有时候,你可能要花些精力优化代码,让代码运行得更快。在此优化过程中,必须对代码的运行速度进行计时。可以使用 Magic 命令timeit
测算函数的运行时间,如下所示:
如果要测算整个单元格的运行时间,请使用%%timeit
,如下所示:
在 notebook 中嵌入可视化内容
如前所述,notebook 允许你将图像与文本和代码一起嵌入。这在你使用 matplotlib或其他绘图包创建可视化内容时最为有用。可以使用%matplotlib
将 matplotlib 设置为以交互方式在 notebook 中工作。默认情况下,图形呈现在各自的窗口中。但是,可以向命令传递参数,以选择特定的“后端”(呈现图像的软件)。要直接在 notebook 中呈现图形,应将内联后端与命令 %matplotlib inline
一起使用。
提示:在分辨率较高的屏幕(例如 Retina 显示屏)上,notebook 中的默认图像可能会显得模糊。可以在%matplotlib inline
之后使用 %config InlineBackend.figure_format = 'retina'
来呈现分辨率较高的图像。
在 notebook 中进行调试
对于 Python 内核,可以使用 Magic 命令 %pdb
开启交互式调试器。出错时,你能检查当前命名空间中的变量。
在上图中,可以看到我尝试对字符串求和,这造成了错误。调试器指出了该错误,并提示你检查代码。
要详细了解 pdb
,请阅读此文档。要退出调试器,在提示符中输入 q 即可。
补充读物
Magic 命令还有很多,我只是介绍了你将会用得最多的一些命令。要了解更多信息,请查看此列表,它列出了所有可用的 Magic 命令。
转换Notebook
创建幻灯片
在 notebook 中创建幻灯片的过程像平常一样,但需要指定作为幻灯片的单元格和单元格的幻灯片类型。在菜单栏中,点击“View”(视图)>“Cell Toolbar”(单元格工具栏)>“Slideshow”(幻灯片),以便在每个单元格上弹出幻灯片单元格菜单。
这会在每个单元格上显示一个下拉菜单,让你选择单元格在幻灯片中的显示方式。
选择幻灯片类型选择幻灯片类型
Slides(幻灯片)是你从左向右移动的完整幻灯片。按向上或向下的箭头时,Sub-slides(子幻灯片)会出现在幻灯片中。Fragments(片段)最初是隐藏的,在你按下按钮时会出现。选择 Skip(忽略)会忽略幻灯片中的单元格,而选择 Notes(备注)会将单元格保留为演讲者备注。
运行幻灯片
要通过 notebook 文件创建幻灯片,需要使用 nbconvert:jupyter nbconvert notebook.ipynb --to slides
这只是将 notebook 转换为幻灯片必需的文件,你需要向其提供 HTTP 服务器才能真正看到演示文稿。
要转换它并立即看到它,请使用
jupyter nbconvert notebook.ipynb --to slides --post serve
这会在浏览器中打开幻灯片,让你可以演示它。