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