logo

YAML-Datentypen

YAML verfügt über drei Arten von Datentypen:

  1. Skalar
  2. Aufführen
  3. 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:

  1. Numerischer Datentyp
  2. 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.