Не нужно срочно создавать функцию, если она вам не нужна:
>>> tpl = "<a href='mailto:%s'>%s</a>"
>>> s = tpl % ('matt.rez@where.com', 'matt rez', )
>>> print s
"<a href='mailto:matt.rez@where.com'>matt rez</a>"
Если вы используете версию 2.6+, вы также можете использовать новую функцию format
вместе с ее мини-языком.:
>>> tpl = "<a href='mailto:{0}'>{1}</a>"
>>> s = tpl.format('matt.rez@where.com', 'matt rez')
>>> print s
"<a href='mailto:matt.rez@where.com'>matt rez</a>"
Завернут в функцию:
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 = ('matt.rez@where.com', 'matt rez')
print render_user(userinfo)
# same output as above
Дополнительный кредит:
Вместо использования обычного tuple
объекта попробуйте использовать более надежный и удобный для человекаnamedtuple
предоставляется модулем collections
.Он имеет те же характеристики производительности (и потребление памяти), что и обычный tuple
.Краткое введение в именованные кортежи можно найти в этом видео PyCon 2011 (перемотка вперед до ~ 12 м): http://blip.tv/file/4883247