2011-09-20 14 views
16

En python, ¿hay una diferencia entre repr y la comilla ` (izquierda de 1)?Python: repr vs backquote

Para la demostración:

class A(object): 
    def __repr__(self): 
     return 'repr A' 
    def __str__(self): 
     return 'str A' 


>>> a = A() 

>>> repr(a) 
#'repr A' 

>>> `a` 
#'repr A' 

>>> str(a) 
#'str A' 

¿Los apóstrofes simplemente llaman repr? ¿Es simplemente por conveniencia? ¿Hay alguna diferencia de velocidad significativa?

Gracias!

+2

Duplicado de http://stackoverflow.com/questions/1673071/what-do-backticks-mean-to-the-python-interpreter-num? – AlG

+1

¿Por qué te preocupas por una diferencia de velocidad? –

+1

@NedBatchelder, principalmente por curiosidad. – TorelTwiddler

Respuesta

23

Son un alias para repr. Ellos tienen exactamente el mismo efecto.

Sin embargo, están en desuso y se han eliminado en Python 3. No los use; use repr.

9

Según python.org cubriendo repr:

Este es el mismo valor producido por las conversiones (citas inversa).

Cabe señalar que el método de retroceso es considerado una especie de abominación por los diseñadores del lenguaje en este momento, y it was removed in python 3.