【发布时间】:2020-02-20 04:16:16
【问题描述】:
我正在阅读 David Beazley 和 Brian K. Jones 的名为“python cookbook”的著名 Python 书籍。在他们的“类和对象”一章中,他们编写了以下代码:
class Point:
def __init__(self,x,y):
self.x = x
self.y = y
def __repr__(self):
return 'Point({0.x!r}, {0.y!r})'.format(self)
def __str__(self):
return '({0.x!s}, {0.y!s})'.format(self)
现在,只有我明白 repr() 方法用于向开发人员表示对象,而 str() 用于向盲人用户表示。但是在这两种方法中,“返回”之后发生了什么?在这两种情况下肯定都有元组。但是元组有什么样的成员?我以前从未见过这样的事情。
【问题讨论】:
-
仔细看,两个函数都返回格式化字符串,而不是元组
-
好吧,但是整个过程怎么样?
-
它只是返回一个字符串。就这些
-
是的,但那些 {0.x!r} 是什么?无法解读含义。
-
@SaswataMishra The docs 详细介绍了这一点。
标签: python python-3.x class methods tuples