2011-09-20 133 views
16

在python中,repr和反引号`(1的左边)之间有区别吗?Python:repr与反引号

出于演示:

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' 

不要反引号只需要调用repr?仅仅是为了方便吗?有没有显着的速度差异?

谢谢!

+2

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

+1

为什么你会担心速度差异? –

+1

@NedBatchelder,主要是为了好奇。 – TorelTwiddler

回答

23

它们是repr的别名。它们具有完全相同的效果。

但是,它们已被弃用,并已在Python 3中删除。请勿使用它们;使用repr