En Python 2.6+ y Python 3, puede optar por utilizar el método de formato de cadena más nuevo.
print('<a href="{0}">{0}</a>'.format(my_url))
que te salva de repetir el argumento, o
print('<a href="{url}">{url}</a>'.format(url=my_url))
si quieres parámetros con nombre.
print('<a href="{}">{}</a>'.format(my_url, my_url))
que es estrictamente posicional, y solo viene con la advertencia de que los argumentos de formato () siguen las reglas de Python donde los argumentos sin nombre deben venir primero, seguidos de los argumentos con nombre, seguidos de * args (una secuencia como lista o tupla) y luego * kwargs (un dict tecleado con cuerdas si sabes lo que es bueno para ti). Los puntos de interpolación se determinan primero sustituyendo los valores nombrados en sus etiquetas, y luego posicionales de lo que queda. Entonces, también puedes hacer esto ...
print('<a href="{not_my_url}">{}</a>'.format(my_url, my_url, not_my_url=her_url))
Pero no esto ...
print('<a href="{not_my_url}">{}</a>'.format(my_url, not_my_url=her_url, my_url))