猿问

Python的目的__repr__

Python的目的__repr__

def __repr__(self):
  return '<%s %s (%s:%s) %s>' % (
    self.__class__.__name__, self.urlconf_name, self.app_name,
    self.namespace, self.regex.pattern)

这种方法的意义/目的是什么?


千万里不及你
浏览 490回答 3
3回答

jeck猫

__repr__应该返回对象的可打印表示,很可能是创建此对象的可能方式之一。请参见官方文档在这里。__repr__适用__str__于最终用户的开发人员。一个简单的例子:>>> class Point:...&nbsp; &nbsp;def __init__(self, x, y):...&nbsp; &nbsp; &nbsp;self.x, self.y = x, y...&nbsp; &nbsp;def __repr__(self):...&nbsp; &nbsp; &nbsp;return 'Point(x=%s, y=%s)' % (self.x, self.y)>>> p = Point(1, 2)>>> pPoint(x=1, y=2)

qq_花开花谢_0

这在Python文档中得到了很好的解释:repr(object):返回包含对象的可打印表示的字符串。这与转换(反向引号)产生的值相同。能够以普通函数的形式访问此操作有时很有用。对于许多类型,此函数尝试返回一个字符串,该字符串在传递时会产生具有相同值的对象eval(),否则表示形式是一个括在尖括号中的字符串,其中包含对象类型的名称以及其他信息通常包括对象的名称和地址。类可以通过定义__repr__()方法来控制此函数为其实例返回的内容。所以你在这里看到的是默认实现__repr__,这对序列化和调试很有用
随时随地看视频慕课网APP

相关分类

Python
我要回答