Engee 文档
Notebook

屏蔽交互式脚本的代码单元

本例演示了为交互式脚本的代码单元格添加遮罩的功能。

掩码可以通过创建可视化图形界面来简化脚本中的代码参数设置。使用此类脚本的用户无需了解代码单元的内容;相反,他们可以使用熟悉的控件自定义代码中的变量值。

下图是使用代码单元屏蔽创建的图形界面示例:

imt.PNG

要熟悉交互模式下的屏蔽功能,建议在脚本编辑器中打开此示例(不要在Engee**文档或社区中打开,因为那里不显示代码单元屏蔽)。

基本使用方法

掩码是代码单元的定制用户界面。

如果在代码单元中添加了至少一个特殊注释(如# @param# @markdown ),则该单元将被屏蔽。

注释# @param 用于在代码单元中添加交互式参数:

  • 文本字段(输入);
  • 复选框(复选框)
  • 下拉列表(下拉);
  • 滑块(滑块)。

交互式参数与变量相连,并在定义行末尾添加特殊注释。

代码编辑器和掩码元素之间可以进行双向通信:

  • 当您更改图形用户界面中变量的值时,代码单元中的值也会自动更改;
  • 反之亦然,如果代码单元中的变量值发生变化,图形用户界面中的值也会随之变化。

# @markdown 注释旨在为代码单元格添加 Markdown 标记(这是 Engee 脚本编辑器文本单元格中使用的语言)。通过在特殊注释后使用简单明了的 Markdown 语法,可以使掩码更加明显。

默认情况下,代码编辑器和图形用户界面同时显示。要隐藏代码显示,请双击掩码。要再次显示代码,可以点击 "显示代码 "按钮或再次双击单元格。

交互式参数

要添加字符串变量输入文本框,请使用特殊注释# @param {type:"string"}

In [ ]:
input_string = "Hello, world!" # @param {type:"string"}

要添加任意数字输入文本框,请使用特殊注释 # @param {type:"number"}

In [ ]:
input_number = -0.123456789 # @param {type:"number"}

使用特殊注释可添加输入整数变量的文本框# @param {type:"integer"}

In [ ]:
input_integer = 42 # @param {type:"integer"}

要添加自由格式文本输入框(这是最灵活的选项,因为变量数据类型不受限制),必须使用特殊注释# @param {type:"raw"}

In [ ]:
input_raw = input_string # @param {type:"raw"}

要添加标志按钮,请使用特殊注释# @param {type:"boolean"}

In [ ]:
input_boolean = false # @param {type:"boolean"}

可使用特殊注释 # @param {type:"date"} 添加带日期选择选项的日历(将以YYYY-MM-DD 的格式写入字符串变量):

In [ ]:
input_date = "2024-09-03" # @param {type:"date"}

要添加字符串变量选择的下拉列表,可使用特殊注释# @param [""] ,在数组内列出所有可能的选项:

In [ ]:
dropdown_string = "Первый" # @param ["Первый", "Второй", "Третий"]

如果要将字符串变量选择下拉列表与输入选项结合起来,可以使用特殊注释# @param [""] {allow-input:true}

In [ ]:
dropdown_string_editable = "Нулевой" # @param ["Первый", "Второй", "Третий"] {allow-input:true}

要添加自由格式变量选择下拉列表,可使用特殊注释 # @param [""] {type:"raw"} ,列出数组内所有可能的选择:

In [ ]:
dropdown_raw = "Engee" # @param [""Engee"", "input_raw", "false", "42"] {type:"raw"}

如果要将自由格式变量选择下拉列表与输入选项结合起来,可以使用特殊注释# @param [""] {type:"raw", allow-input:true}

In [ ]:
dropdown_raw_editable = true # @param [""Engee"", "input_raw", "false", "42"] {type:"raw", allow-input:true}

要添加一个滑块,请使用特殊注释# @param {type:"slider", min:x, max:y, step:z} ,代之以 -x - 最小值; -y - 最大值; -z - 步长:

In [ ]:
slider_number = 0.5 # @param {type:"slider", min:-1, max:1, step:0.01}
In [ ]:
slider_integer = 50 # @param {type:"slider", min:1, max:100, step:1}

Markdown 标记语言

标题

In [ ]:
# @markdown # Заголовок 1
# @markdown ## Заголовок 2
# @markdown ### Заголовок 3
# @markdown #### Заголовок 4
# @markdown ##### Заголовок 5
# @markdown ###### Заголовок 6

段落和换行

In [ ]:
# @markdown Чтобы создать новый параграф, вставьте пустую строку между двумя строками текста.
# @markdown  
# @markdown Для переноса строки внутри одного параграфа  
# @markdown используйте два пробела в конце строки.

文本高亮

In [ ]:
# @markdown *курсив*
# @markdown _italic_
# @markdown  
# @markdown **жирный**
# @markdown __bold__
# @markdown  
# @markdown ***жирный курсив***
# @markdown ___bold italic___
# @markdown  
# @markdown ~~зачёркнутый strikethrough~~

编号列表

In [ ]:
# @markdown 1. Первый пункт
# @markdown 2. Второй пункт
# @markdown 3. Третий пункт

标记列表

In [ ]:
# @markdown - Первый пункт
# @markdown - Второй пункт
# @markdown - Третий пункт

嵌套列表

In [ ]:
# @markdown 1. Первый пункт
# @markdown     - Первый подпункт
# @markdown     - Второй подпункт
# @markdown 2. Второй пункт

参考资料:

In [ ]:
# @markdown [Telegram-канал Engee](https://t.me/engee_com)

图片

In [ ]:
# @markdown ![Текст описания](	https://static.tildacdn.com/tild3266-6131-4465-b233-613634326336/Engee_logo-05.svg)

代码行:

In [ ]:
# @markdown `using Plots`

代码块:

In [ ]:
# @markdown ```Julia
# @markdown x = range(0, 10, length=100)
# @markdown y = sin.(x)
# @markdown plot(x, y)
# @markdown ```

报价:

In [ ]:
# @markdown > Первый уровень
# @markdown >> Второй уровень
# @markdown >>> Третий уровень

水平线:

In [ ]:
# @markdown ---

桌子

In [ ]:
# @markdown | Заголовок 1 | Заголовок 2 |
# @markdown | ----------- | ----------- |
# @markdown | Ячейка 1    | Ячейка 2    |
# @markdown | Ячейка 3    | Ячейка 4    |

表情符号

In [ ]:
# @markdown :smile:
# @markdown :laughing:
# @markdown :blush:

HTML 标签

In [ ]:
# @markdown <kbd>CTRL</kbd> + <kbd>V</kbd>

结论

本示例演示了屏蔽代码单元格的功能。这是一种简单而实用的方法,可使交互式脚本反应更灵敏、更易于访问!