Python 在jupyter中,标签在单元格上的用法是什么?

Python 在jupyter中,标签在单元格上的用法是什么?,python,jupyter-notebook,Python,Jupyter Notebook,我发现,在jupyter笔记本中,单元格上方有一个标记工具,可以通过“查看-单元格工具栏-标记”激活该工具。但我不明白,为什么我们需要这些标签。有人能给出一些建议或用法示例吗 标签功能是jupyter笔记本电脑最近推出的一项功能,可能还没有完成,添加了。据我所知,它们主要用于(将笔记本转换为其他格式,如pdf)和(验证笔记本)等工具,以及其他或多或少与jupyter笔记本相关的集成工具。能够将标记添加到单元格将根据单元格标记启用此类工具的不同行为。可以通过添加标记来实现的一些示例如下: nbc

我发现,在jupyter笔记本中,单元格上方有一个标记工具,可以通过“查看-单元格工具栏-标记”激活该工具。但我不明白,为什么我们需要这些标签。有人能给出一些建议或用法示例吗


标签功能是jupyter笔记本电脑最近推出的一项功能,可能还没有完成,添加了。据我所知,它们主要用于(将笔记本转换为其他格式,如pdf)和(验证笔记本)等工具,以及其他或多或少与jupyter笔记本相关的集成工具。能够将标记添加到单元格将根据单元格标记启用此类工具的不同行为。可以通过添加标记来实现的一些示例如下:

  • nbconvert-隐藏单元格,隐藏输入,使输出可见, 折叠一个细胞,留下一个暴露它的方法
  • nbconvert到latex-标记单元格包含标题(或副标题、摘要…)
  • nbval-检查/忽略单元格的输出、跳过执行单元格、预期单元格 出错
  • NB分级机-溶液池、测试池
  • nbparameterise-单元格包含输入参数

正如takluyver在的设想。如果您想了解有关实现的更多信息以及围绕它的讨论,您可以阅读更多。

除了Christian的答案之外,您还可以从使用标记中获得一个重要的实用程序。即使遇到运行时错误,也可以运行所有单元格并保持运行。使用
引发异常标记标记单元格。对教育目的非常有用

正如上面Christian所指出的,一个伟大的用途是为这个笔记本程序提供不同的输入参数值,nbparameterise就是一个例子。造纸厂是另一家:

从用户的角度来看,通过使用env变量os.getenv()或从命令行参数sys.getargv()获取,可能可以实现同样的效果,但向单元格添加标记似乎是最简单的方法

在引擎盖下,jupyter笔记本保存为json文件。假设您将第一个单元格标记为参数,并声明变量var1=10和var2='adam'。json文件如下所示,标记位于元数据部分。因此,对于一个工具来说,解析这个json并进入标记部分,并用不同的值替换变量是很简单的

{
  "cells": [
  {
    "cell_type": "code",
    "execution_count": 1,
    "metadata": {
      "tags": [
        "Parameters"
      ]
    }, 
    ....
  },
  "source": [
    "var1 = 10",
    "var2 = 'adam'"
 ]    

对于在JupyterLab中寻找标签的人:它被添加到中(在2020年3月的发布候选阶段)。在此之前(JupyterLab)≤ 1.x)。标签的一种用法解释如下:如何使用标签和
nbconvert
隐藏特定单元格。