pl-python-variable元件¶
显示 Python 变量的值。它使用类似于 pprint 模块的选项来格式化输出数据,并且可以递归打印嵌套数据结构。因此,下面的一些描述直接取自本文档。
样本元素¶

question.html
<pl-python-variable params-name="variable"></pl-python-variable>
server.py
import prairielearn as pl
def generate(data):
data_dictionary = { "a": 1, "b": 2, "c": 3 }
data["params"]["variable"] = pl.to_json(data_dictionary)
定制¶
| 属性 | 类型 | 默认 | 描述 |
|---|---|---|---|
compact-sequences |
布尔 | 假 | 影响长序列(列表、元组、集合等)的格式化方式。如果 compact-sequences 为 false(默认值),则序列中的每个项目将在单独的行上格式化。如果为真,则在每个输出行上将格式化宽度内尽可能多的项目。 |
copy-code-button |
布尔 | 假 | 是否包含一个按钮来复制此元素显示的代码。 |
depth |
整数 | — | 可以打印的嵌套层数;如果打印的数据结构太深,则下一个包含的级别将替换为... 默认情况下,对正在格式化的对象的深度没有限制。 |
indent |
整数 | 1 | 指定打印嵌套对象时为每个嵌套级别添加的缩进量。 |
no-highlight |
布尔 | 假 | 禁用语法突出显示。 |
params-name |
字符串 | — | data["params"] 中要从中获取值的键的名称。 |
prefix |
字符串 | (empty) | 在输出之前添加的任何前缀。 |
prefix-newline |
布尔 | 假 | 在 prefix 末尾添加换行符。 |
show-line-numbers |
布尔 | 假 | 是否显示此元素显示的代码中的行号。 |
sort-dicts |
布尔 | 假 | 如果为 true,则字典将按其键排序进行格式化,否则将按插入顺序显示。 |
suffix |
字符串 | (empty) | 附加到输出的任何后缀。 |
suffix-newline |
布尔 | 假 | 在 suffix 开头之前添加换行符。 |
width |
整数 | 80 | 指定输出中每行所需的最大字符数。如果无法在宽度限制内格式化结构,将尽最大努力。 |
从已弃用的属性迁移¶
为了向后兼容,仍支持以下已弃用的属性:
| 旧语法 | 新语法 |
|---|---|
compact="<value>" |
compact-sequences="<value>" |
不推荐使用此元素打印 Pandas DataFrame,以及控制该显示的 text、show-header、show-index 和 show-dimensions 属性。请改用新的 pl-dataframe 元素。
细节¶
该元素支持通过 repr() 显示 Python 对象,并支持类似于内置 pprint 库的更复杂的显示选项。 要显示的对象必须可序列化为 JSON。 有关哪些对象可以序列化以及如何使用提供的 to_json 和 from_json 函数执行此操作的详细信息,请参阅问题写作文档。要显示无法轻松 JSON 序列化的对象,请参阅 pl-code 示例问题 [元素/代码]。
示例实现¶
- [元素/python变量]