__repr__和__str__这两个方法都是用于显示的,str是面向用户,而repr**面向程序员**。
repr是representation及描述的意思。
在python语言里,str一般是格式是这样的。
class A:
def __str__(self):
return "this is in str"
事实上,str是被print函数调用的,一般都是return一个什么东西。这个东西应该是以字符串的形式表现的。
repr(): 把内容转换成 字符串
eval(): 将内容转换成 有效的表达式
In [3]: a = [1, 2, 3]
In [4]: repr(a)
Out[4]: '[1, 2, 3]'
In [5]: a = [1, 2, 3]
In [6]: b = repr(a)
In [7]: b
Out[7]: '[1, 2, 3]'
In [8]: eval(b)
Out[8]: [1, 2, 3]