In Python 2.6+ e Python 3, potresti scegliere di utilizzare il metodo di formattazione delle stringhe più recente.
print('<a href="{0}">{0}</a>'.format(my_url))
che ti salva dal ripetere l'argomento, o
print('<a href="{url}">{url}</a>'.format(url=my_url))
se vuoi parametri nominati.
print('<a href="{}">{}</a>'.format(my_url, my_url))
che è strettamente posizionale, e viene solo con l'avvertenza che gli argomenti format () seguono le regole di Python dove prima devono venire gli arg senza nome, seguiti dagli argomenti con nome, seguiti da * args (una sequenza come list o tuple) e poi * kwargs (un dict chiave con stringhe se sai cosa è buono per te). I punti di interpolazione sono determinati prima sostituendo i valori nominati nelle loro etichette, quindi posizionali da ciò che resta. Quindi, puoi anche farlo ...
print('<a href="{not_my_url}">{}</a>'.format(my_url, my_url, not_my_url=her_url))
Ma non questo ...
print('<a href="{not_my_url}">{}</a>'.format(my_url, not_my_url=her_url, my_url))