YAML - Introducción

YAML Ain't Markup Language es un lenguaje de serialización de datos que coincide con las expectativas del usuario sobre los datos. Está diseñado para ser amigable con los humanos y funciona perfectamente con otros lenguajes de programación. Es útil para administrar datos e incluye caracteres imprimibles Unicode. Este capítulo le dará una introducción a YAML y le dará una idea de sus características.

Formato

Considere el texto que se muestra a continuación:

Quick brown fox jumped over the lazy dog.

El texto YAML para esto se representará como se muestra a continuación:

yaml.load(Quick brown fox jumped over the lazy dog.)
>>'Quick brown fox jumped over the lazy dog.'

Tenga en cuenta que YAML toma el valor en formato de cadena y representa la salida como se mencionó anteriormente.

Ejemplos

Entendamos los formatos en YAML con la ayuda de los siguientes ejemplos:

Considere el siguiente número de punto de "pi", que tiene un valor de 3,1415926. En YAML, se representa como un número flotante como se muestra a continuación:

>>> yaml.load('3.1415926536')
3.1415926536

Supongamos que se deben cargar varios valores en una estructura de datos específica como se menciona a continuación:

eggs
ham
spam
French basil salmon terrine

Cuando carga esto en YAML, los valores se toman en una estructura de datos de matriz que es una forma de lista. La salida es la que se muestra a continuación:

>>> yaml.load('''
   - eggs
   - ham
   - spam
   - French basil salmon terrine
   ''')
['eggs', 'ham', 'spam', 'French basil salmon terrine']

Caracteristicas

YAML incluye un lenguaje de marcado con una construcción importante para distinguir el lenguaje orientado a datos con el marcado del documento. Los objetivos de diseño y las características de YAML se detallan a continuación:

  • Coincide con estructuras de datos nativas de metodología ágil y sus lenguajes como Perl, Python, PHP, Ruby y JavaScript

  • Los datos YAML son portátiles entre lenguajes de programación

  • Incluye modelo de datos consistente

  • Fácilmente legible por humanos

  • Admite procesamiento unidireccional

  • Facilidad de implementación y uso