no hay necesidad urgente de crear una función, si no necesita uno:
>>> tpl = "<a href='mailto:%s'>%s</a>"
>>> s = tpl % ('[email protected]', 'matt rez',)
>>> print s
"<a href='mailto:[email protected]'>matt rez</a>"
Si estás en 2.6+ puede utilizar alternativamente la nueva format
func el ion junto con su mini-idioma:
>>> tpl = "<a href='mailto:{0}'>{1}</a>"
>>> s = tpl.format('[email protected]', 'matt rez')
>>> print s
"<a href='mailto:[email protected]'>matt rez</a>"
envuelta en una función:
def render_user(userinfo, template="<a href='mailto:{0}'>{1}</a>"):
""" Renders a HTML link for a given ``userinfo`` tuple;
tuple contains (email, name) """
return template.format(userinfo)
# Usage:
userinfo = ('[email protected]', 'matt rez')
print render_user(userinfo)
# same output as above
Crédito adicional:
En lugar de utilizar un tuple
objeto normal, trate de usar el más robusto y humano amigable namedtuple
proporcionan por el módulo collections
. Tiene las mismas características de rendimiento (y consumo de memoria) que un tuple
normal. Una introducción corta en tuplas nombre se puede encontrar en este PyCon 2011 Vídeo (avance rápido a ~ 12 m): http://blip.tv/file/4883247
Gracias mucho, pero tengo que escribirlo con la función, ¿es similar a los códigos o I anterior debería agregar mas codigos? – Tara
El código anterior debería ser suficiente. – miku
@miku ¿Podría agregar detalles sobre el uso de una tupla nombrada? El archivo blip.tv ha sido eliminado, y PyCon 2011 enumera muchos resultados en youtube ... He comprobado un par de respuestas SO relacionadas y todavía no he encontrado un ejemplo claro (obv no entendió la documentación) - TIA! – ptim