2011-09-20 9 views
16

In python, c'è una differenza tra repr e il backquote ` (a sinistra di 1)?Python: repr vs backquote

per la dimostrazione:

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' 

Fare i apici basta chiamare repr? È semplicemente per comodità? C'è qualche differenza di velocità significativa?

Grazie!

+2

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

+1

Perché dovresti preoccuparti di una differenza di velocità? –

+1

@NedBatchelder, principalmente per curiosità. – TorelTwiddler

risposta

23

Sono uno pseudonimo per repr. Hanno lo stesso identico effetto.

Tuttavia, sono deprecati e sono stati rimossi in Python 3. Non li usano; utilizzare repr.

9

Secondo python.org copre rappr:

Questo è lo stesso valore reso dalle conversioni (apici inversi).

Va notato che il metodo del backtick è considerato qualcosa di un abominio dai progettisti di linguaggio al momento e it was removed in python 3.