YAML verfügt über drei Arten von Datentypen:
- Skalar
- Aufführen
- Wörterbuch
Skalarer Datentyp:
Skalar ist ein einfacher Datentyp. In YAML bedeutet Skalar ein einfacher Wert für einen Schlüssel. Der Wert des Skalars kann eine Ganzzahl, eine Gleitkommazahl, ein Boolescher Wert oder eine Zeichenfolge sein. Skalare Datentypen werden in zwei Datentypen klassifiziert:
- Numerischer Datentyp
- Zeichenfolge
Numerischer Datentyp
Es gibt drei Arten von numerischen Datentypen:
- Ganze Zahl
- Gleitkommazahlen
- Boolesche Werte
Ein Ganzzahliger Datentyp kann dezimal, oktal oder hexadezimal sein.
Zum Beispiel:
--- age: 12345 octalexample: 012345 hexaexample: 0x12d4
Hier wird der Hexadezimalwert durch 0x und der Oktalwert durch eine führende Null angezeigt. Wenn wir dieses Dokument in unserem Python-Skript ausführen, wird die folgende Ausgabe generiert:
age: 12345 octalexample: 9946 hexaexample: 4820
Der Gleitkommawert kann fest und exponentiell sein.
Zum Beispiel:
--- height: 180.0 exp: 12.3015e+05
Wenn wir die obige Entität auswerten, erhalten wir Folgendes:
height: 180.0 exp: 1230150.0
A Boolescher Wert kann Wahr/Falsch oder Ja/Nein oder Ein/Aus sein.
Zum Beispiel:
--- boolenval1: True booleanval2: False fan: On light: Off
Zeichenfolge
YAML-Strings sind Unicode. Im folgenden Beispiel definieren wir eine einfache Zeichenfolge ohne Anführungszeichen.
Beispiel:
--- str1: this is a normal string
Wenn wir dies verarbeiten, wird die folgende Ausgabe generiert:
str1: this is a normal string
Jetzt definieren wir einen String mit einer Escape-Sequenz. Die folgende Zeichenfolge enthält ein Sonderzeichen (alles andere als alphanumerisch) und enthält daher doppelte Anführungszeichen.
--- str1: 'the cost is 390 ' str2: the cost is 390
Wenn wir dies verarbeiten, wird die folgende Ausgabe generiert:
str1: the cost is 390 str2: the cost is 390
Während der YAML-Datei können wir den Wert einer Datenvariablen auf Null setzen. Später können wir ein Programm schreiben, um den Wert von Null in einen beliebigen anderen Wert zu ändern.
--- str1: null str2: ~
Unser Programm verarbeitet dies wie folgt:
str1: none str2: none
In YAML können wir mit dem Symbol > eine mehrzeilige Zeichenfolge in eine einzelne Zeile schreiben. Dabei wird ein Zeilenumbruchzeichen ( ) ignoriert.
Beispiel:
str: > this is a multi-line string it spans more than one line
Die obige Zeichenfolge wird ohne die neuen Zeilen wie folgt interpretiert:
str : this is a multi-line string it spans more than one line
In YAML können wir mit | eine mehrzeilige Zeichenfolge in eine neue Zeile schreiben Symbol. Darin wird das Newline-Zeichen ( ) eingefügt.
Beispiel:
str: | this is a multi-line string it spans more than one line
Wir sehen die neuen Zeilen also dort, wo sie sich im Dokument befinden, wie folgt:
römische Ziffern 1-100
str : this is a multi-line string it spans more than one line
Listen
Wir können die Liste in einer einzelnen Zeile wie folgt definieren:
--- items: [6, 7, 8, 9, 10] name: [six, seven, eight, nine, ten]
Dieser Stil wird als Blockstil bezeichnet. Wir können die obige Liste wie folgt in mehrere Zeilen einfügen:
--- items: - 6 - 7 - 8 name: - 'six' - 'seven' - 'eight' - 'nine'
Dieser Stil wird als Flow-Stil bezeichnet. Eine Liste, die komplexe Objekte enthält, benötigt mehrere Zeilen.
--- items: - values: value1: value 2: value 3: - other values: key: value
Ein Array kann eine beliebige Anzahl gültiger YAML-Werte enthalten. Der Wert einer Liste kann jedoch nicht vom gleichen Typ sein.
Wörterbücher
Wenn wir eine komplexe YAML-Datei schreiben möchten, die die komplexe Datenstruktur enthält, verwenden wir Wörterbücher. Es handelt sich um eine Sammlung von Schlüssel-Wert-Paaren, und jedes Schlüssel-Wert-Paar kann mit vielen Optionen verschachtelt werden.
Beispiel 1:
--- student1: 'john' hobbies: - music - reading - dancing
Im obigen Beispiel ist student der erste Schlüssel und john der Wert. Hobbys sind der zweite Schlüssel, aber er ist verschachtelt, was bedeutet, dass er eine Liste von Werten enthält. Der Wert des Schlüssels kann wiederum ein Schlüssel:Wert-Paar sein, was wir im nächsten Beispiel sehen werden.
Beispiel 2:
student2: fatherName: 'William' motherName: 'Marry' subjectDetails: subject1: 70 subject2: 100
Die subjectDetails zeigen einen Schlüssel und der Wert dieses Schlüssels ist eine Liste von Schlüssel-Wert-Paaren. Vatername, Muttername und Betreffname sind die Schlüssel. Dabei enthält der Schlüssel „subjektname“ eine Liste von Schlüssel-Wert-Paaren und „subjekt1“ und „subjekt2“ sind die Schlüssel für die Werte 70 und 100.