Inheritance
__repr__() and __str__()
用法
__repr__
得到一个对象的字符串表示形式。如果没有实现 repr,当我们在控制台里打印一个向量的实例时,得到的字符串可能会是 <Vector object at 0x10e100070>
__repr__
和__str__
的区别在于,后者是在str()
函数被使用,或是在用 print() 函数打印一个对象的时候才被调用的,并且它返回的字符串对终端用户更友好。
如果你只想实现这两个特殊方法中的一个,repr 是更好的选择,因为如果一个对象没有 str 函数,而 Python 又需要调用它的时候,解释器会用 repr 作为替代。
“Difference between str and __repr__Python”(http://stackoverflow.com/questions/1436703/difference-between-str-and-repr-inpython)是 Stack Overflow 上的一个问题,Python 程序员 Alex Martelli 和 MartijnPieters 的回答很精彩。
TO BE CONTINUED…