📜  在 jupyter notebook 中隐藏代码 (1)

📅  最后修改于: 2023-12-03 15:37:23.022000             🧑  作者: Mango

在 Jupyter Notebook 中隐藏代码

在 Jupyter Notebook 中,我们可以使用 Markdown 和 Code 两种类型的 cell 分别进行文本和代码的编写。代码 cell 默认会将写入的代码公开展示给读者,但有时为了保护代码的安全性或避免干扰读者的阅读体验,我们需要将某些代码隐藏起来。

以下介绍三种在 Jupyter Notebook 中隐藏代码的方法:

1. 使用 Notebook 扩展 nbextension

首先,我们需要启动 Notebook 的 nbextension。在终端中输入以下指令:

jupyter nbextension install --user hide_input_all/main
jupyter nbextension enable --user hide_input_all/main

这样,在 notebook 中就会多出一个按钮,标记为 "Hide input"。点击此按钮后,当前 cell 的代码输入框就会被隐藏。

此方法的缺点是需要安装额外的扩展,较为繁琐,同时无法通过导出 .ipynb 文件将代码隐藏后的效果传递给其他人。

2. 直接在代码 cell 中使用注释符号

我们可以在代码 cell 中通过添加注释符号 "#" 便能实现单行代码的隐藏。

例如,在以下代码 cell 中输入:

print('这是展示的代码')
# print('这是需要隐藏的代码')
print('这又是展示的代码')

第二行通过 "#" 符号使该行代码被变为注释。读者在查看 notebook 时就无法看到此行代码的存在,从而达到隐藏效果。

此方法简单易懂,不需要安装额外的扩展。但是,它只能隐藏单行代码,而且注释符号和需要隐藏的代码需要在同一行输入。

3. 使用 codefolding(代码折叠)功能

在 notebook 的“编辑”菜单下,有“折叠”一栏,里面有三个选项,分别为 headings、cell 和 output。选择 cell,即可开启代码折叠功能。

代码折叠功能是将整个 cell 代码折叠为一个小的提示框,只显示内部的提示文字。读者可以选择是否展开折叠,从而查看全部代码。

选择代码 cell 后,点击“编辑”菜单中的“折叠”,即可将该 cell 代码折叠成一个小的提示框。

开启代码折叠功能简单方便,不需要安装额外的扩展,且可以折叠多行代码。但它仅仅起到提示作用,读者还需要手动展开提示框才能查看到代码。