¿Qué significan los backticks para el intérprete de python: `num`
Estoy jugando con las listas de comprensión y encontré este pequeño fragmento en otro sitio:
return ''.join([`num` for num in xrange(loop_count)])
Pasé unos minutos tratando de replicar la función (escribiendo) antes de darme cuenta de la`num`
El bit lo estaba rompiendo.
¿Qué hace encerrar una declaración en esos personajes? Por lo que puedo ver es el equivalente de str (num). Pero cuando lo cronometré:
return ''.join([str(num) for num in xrange(10000000)])
Se tarda 4.09s mientras que:
return ''.join([`num` for num in xrange(10000000)])
toma 2.43s.
Ambos dan resultados idénticos pero uno es mucho más lento. ¿Que esta pasando aqui?
EDITAR: Extrañamente...repr()
da resultados un poco más lentos que`num`
. 2.99s vs 2.43s. Usando Python 2.6 (no he probado 3.0 aún).