YAML 数据类型

2025年3月17日 | 阅读 3 分钟

YAML 有三种数据类型

  1. 标量
  2. 列表
  3. 字典

标量数据类型

标量是一种简单的数据类型。在 YAML 中,标量意味着键的简单值。标量的值可以是整数、浮点数、布尔值和字符串。标量数据类型分为两种数据类型

  1. 数值数据类型
  2. String

数值数据类型

数值数据类型有三种类型

  • Integer
  • 浮点数
  • 布尔值

整数数据类型可以是十进制、八进制或十六进制。

例如

这里,十六进制值用 0x 表示,八进制值用前导零表示。当我们在 Python 脚本上运行此文档时,将生成以下输出

浮点值可以是固定的和指数的。

例如

当我们评估上述实体时,我们将得到以下结果

布尔值可以是 True/False 或 Yes/No 或 On/Off。

例如

String

YAML 字符串是 Unicode。在以下示例中,我们将定义一个简单的字符串,而不使用引号。

示例

当我们处理它时,将生成以下输出

现在,我们将定义一个带有转义序列的字符串。以下字符串包含一个特殊字符(字母数字以外的任何字符),因此它包含双引号。

当我们处理它时,将生成以下输出

在 YAML 文件中,我们可以将数据变量的值设置为 null。 稍后,我们可以编写一个程序来将 null 值更改为任何其他值。

我们的程序将其处理为

在 YAML 中,我们可以使用 > 符号在一行中编写多行字符串。 在这种情况下,换行符 (\n) 将被忽略。

示例

上面的字符串将在没有换行符的情况下解释如下

在 YAML 中,我们可以使用 | 符号在新行中编写多行字符串。 在这种情况下,将包含换行符 (\n)。

示例

因此,我们看到文档中的换行符如下

列表

我们可以按如下方式在一行中定义列表

这种样式称为块样式。 我们可以按如下方式将上面的列表放在多行中

这种样式称为流样式。 包含复杂对象的列表需要多行。

任何数量的有效 YAML 值都可以包含在数组中。 但是,列表的值不能是相同的类型。

字典

如果我们想编写一个包含复杂数据结构的复杂 YAML 文件,我们将使用字典。 它是键:值对的集合,每个键:值对都可以嵌套很多选项。

示例 1

在上面的示例中,student 是第一个键,john 是值。 Hobbies 是第二个键,但它是嵌套的,这意味着它包含一个值列表。 键的值可以再次是键:值对,我们将在下一个示例中看到。

示例 2

subjectDetails 显示一个键,此键的值是键:值对的列表。 fatherName、motherName 和 subjectName 是键。 其中 subjectName 键包含键:值对的列表,subject1 和 subject2 是值 70 和 100 的键。


下一个主题YAML 样式