Dans Python 2.6+ et Python 3, vous pouvez choisir d'utiliser la nouvelle méthode de formatage de chaîne.
print('<a href="{0}">{0}</a>'.format(my_url))
ce qui vous évite de répéter l'argument, ou
print('<a href="{url}">{url}</a>'.format(url=my_url))
si vous voulez des paramètres nommés.
print('<a href="{}">{}</a>'.format(my_url, my_url))
qui est strictement positionnel, et vient uniquement avec l'avertissement que les arguments de format () suivent les règles Python où les arguments sans nom doivent venir en premier, suivis des arguments nommés, suivis de * args (une séquence comme une liste ou un tuple) et ensuite * kwargs (un dict avec des chaînes si vous savez ce qui est bon pour vous). Les points d'interpolation sont déterminés d'abord en substituant les valeurs nommées à leurs étiquettes, puis en positionnant ce qui reste. Donc, vous pouvez aussi faire ceci ...
print('<a href="{not_my_url}">{}</a>'.format(my_url, my_url, not_my_url=her_url))
Mais pas ça ...
print('<a href="{not_my_url}">{}</a>'.format(my_url, not_my_url=her_url, my_url))