Cadenas de Formato en Python

Cadenas de Formato Normal:

Este tipo de formato proporciona una manera sencilla de insertar valores en una cadena. Los valores se listan en una tupla y se insertan por orden en la cadena en el lugar de un marcador de formato:

>>> 
>>> print "%s, %s, %s" % (1,2,4)
1, 2, 4
>>>

Aunque es bastante eficiente, este estilo no siempre es fácil de leer, especialmente cuando se insertan múltiples valores. Hay una forma alternativa de dar formato a cadenas que usa diccionarios en lugar de tuplas.

Cadenas de Formato basadas en Diccionarios:

Este tipo de formato tiene la siguiente estructura básica: “%(key)s” % diccionario. Por ejemplo:

>>>
>>> datos = {"nombre":"Jose", "apellidos":"Lopez", "Edad":"34"}
>>>
>>> "%(nombre)s" % datos
'Jose'
>>>
>>> "El nombre del paciente %(nombre)s, realmente es: %(nombre)s %(apellidos)s" % datos
'El nombre del paciente Jose, realmente es: Jose Lopez'
>>>

En lugar de una tupla de valores explícitos, con el formato basado en diccionarios, el marcador contendrá un nombre(key) entre paréntesis. El cual es usado como clave para acceder a su respectivo valor en el diccionario. Además como podemos notar se puede usar más de una vez la misma clave.

El uso más común de este tipo de formato es acompañado de la función incorporada locals():

>>> 
>>> def foo(arg):
... print "%(arg)s" % locals()
... 
>>> 
>>> foo(4)
4
>>> 
>>> foo('Este es un argumento')
Este es un argumento
>>>

Significa que puede usar los nombres de las variables locales dentro de la cadena. Usar cadenas de formato basadas en diccionarios con locals() es una manera conveniente de hacer más legibles expresiones de cadenas de formato, pero tiene un precio. Llamar a locals tiene una ligera influencia en el rendimiento, ya que locals construye una copia del espacio de nombres local.

 

Autor: Jolth

Apartados tomados de:
http://www.diveintopython.net

Anuncios

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s