__repr__
这个特殊方法来得到一个对象的字符串表示形式__str__
,它适用于print函数,它对终端用户更友好__repr__
,因为如果一个对象没有__str__
,而Python又需要调用它的时候,解释器会使用__repr__
来代替class MyClass(object):
def __repr__(self):
return 'repr MyClassObj'
def __str__(self):
return 'MyClassObj'
class YourClass(object):
def __repr__(self):
return 'YourClassObj'
if __name__ == "__main__":
obj = MyClass()
print(repr(obj)) # output: repr MyClassObj
print(str(obj)) # output: MyClassObj
print(obj) # output: MyClassObj
# 如果一个对象没有__str__,而Python又需要调用它的时候,解释器会使用__repr__来代替
obj2 = YourClass()
print(obj2) # output: MyClassObj
本文代码已经归档到github,您可以访问下面的链接获得。
代码地址