def _secret(): ...
for i in range(3):
print(i)
0
1
2
指令是特殊的注释,以 #|
开头,它们控制
nbdev 增强了 Quarto,提供了比 Quarto 更多额外的指令。所有 Quarto 指令 都可以在 nbdev notebook 中使用。
本速查表列出了所有 nbdev 指令,以及我们认为重要的 Quarto 指令。我们建议查阅 quarto 文档 以查看所有可用的指令。
为了阐明指令的来源,我们使用以下表情符号
以下指令控制渲染文档中单元格的可见性
#|hide
隐藏单元格输入和输出。
#|echo: <true|false>
切换代码单元格输入的可见性。
#|output: <true|false|asis>
将其设置为 false
会隐藏单元格的输出。将其设置为 asis
会将输出渲染为原始 markdown。
#|hide_line
隐藏输入单元格中的特定代码行。
#|filter_stream <keyword> ...
过滤包含单元格输出中特定关键字的行。
#|code-fold: <show|true>
#|code-fold
指令允许您折叠代码单元格。当设置为 true
时,元素默认折叠;当设置为 show
时,元素默认显示。
当您设置 #|code-fold: true
时,输入单元格会折叠
this is
output
that takes
lots of vertical space
当您设置 #|code-fold: show
时,输入单元格会显示,但仍在可折叠元素中
以下指令允许您控制如何从代码单元格导出源代码。
#|default_exp <name>
命名带有 #|export
指令的单元格默认导出的模块。
#|export
将单元格中的项导出到生成的模块和文档中。
#|export
def say_hello(to:str # name of person to say hello to
):
"Say hello to somebody"
return f'Hello {to}!'
上面的单元格将导出到由 #|default_exp
指定的模块。这些导出会自动包含在模块的 __all__
中。要了解如何在不包含在 __all__
中的情况下导出,请参阅 #|exporti
指令。
此外,此函数的文档将自动渲染如下
say_hello (to:str)
向某人问好
类型 | 详情 | |
---|---|---|
to | str | 要问好的人名 |
#|exporti
一个 i
nternal (内部) 导出。不包含在 __all__
或文档中。适用于在此模块中被其他函数调用但不属于公共 API 的函数。
同样,您也可以在函数或方法前加上 _
前缀,例如 def _private(): pass
。
#|exports
一个 s
ource (源) 导出。类似于 #|export
,但除了通过 showdoc.show_doc
显示文档外,还会显示源代码。
以下指令允许您控制在文档渲染和测试期间如何执行单元格。
#|exec_doc
确保在生成文档之前每次都执行单元格。当单元格没有此注释时,它将按照此处描述的默认规则运行。
#|eval: <true|false>
当设置为 false
时,单元格在测试期间将被忽略。
当单元格没有指令时,nbdev 会按照此处描述的行为运行单元格。