为了账号安全,请及时绑定邮箱和手机立即绑定

Python的目的__repr__

Python的目的__repr__

千万里不及你 2019-08-16 15:08:08
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)这种方法的意义/目的是什么?
查看完整描述

3 回答

?
jeck猫

TA贡献1909条经验 获得超7个赞

__repr__应该返回对象的可打印表示,很可能是创建此对象的可能方式之一。请参见官方文档在这里。__repr__适用__str__于最终用户的开发人员。


一个简单的例子:


>>> class Point:

...   def __init__(self, x, y):

...     self.x, self.y = x, y

...   def __repr__(self):

...     return 'Point(x=%s, y=%s)' % (self.x, self.y)

>>> p = Point(1, 2)

>>> p

Point(x=1, y=2)


查看完整回答
反对 回复 2019-08-16
?
qq_花开花谢_0

TA贡献1835条经验 获得超7个赞

这在Python文档中得到了很好的解释:

reprobject):返回包含对象的可打印表示的字符串。这与转换(反向引号)产生的值相同。能够以普通函数的形式访问此操作有时很有用。对于许多类型,此函数尝试返回一个字符串,该字符串在传递时会产生具有相同值的对象eval(),否则表示形式是一个括在尖括号中的字符串,其中包含对象类型的名称以及其他信息通常包括对象的名称和地址。类可以通过定义__repr__()方法来控制此函数为其实例返回的内容。

所以你在这里看到的是默认实现__repr__,这对序列化和调试很有用


查看完整回答
反对 回复 2019-08-16
  • 3 回答
  • 0 关注
  • 489 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信