肥皂起泡泡
如果您必须在第一个之间进行选择__repr__或者选择__str__第一个,则默认情况下在未定义时执行__str__调用__repr__。自定义Vector3示例:class Vector3(object): def __init__(self, args): self.x = args[0] self.y = args[1] self.z = args[2] def __repr__(self): return "Vector3([{0},{1},{2}])".format(self.x, self.y, self.z) def __str__(self): return "x: {0}, y: {1}, z: {2}".format(self.x, self.y, self.z)在此示例中,repr再次返回可以直接使用/执行的字符串,而str作为调试输出更有用。v = Vector3([1,2,3])print repr(v) #Vector3([1,2,3])print str(v) #Vector(x:1, y:2, z:3)