实例的默认__str__方法

时间:2019-10-09 19:10:25

标签: python cpython

我有一个没有strrepr方法的类。当我称呼它时:

>>> from ingest.tpr import TPR
>>> t=TPR()
>>> t # that is, "repr(t)"
<ingest.tpr.TPR instance at 0x101eb8518>

此处的默认表示形式类似于:

"<${path_to_class} instance at ${memory_address}>"

在哪里提供此默认实现?以上是__repr__方法或__str__方法-我知道它在上面称为__repr__方法,但同时是__str__和{{1} }方法在一开始就初始化为同一事物,或者只是简单地将另一个称为“后备”。换句话说,默认的__repr____str__在python中是什么样子?在哪里定义?

1 个答案:

答案 0 :(得分:2)

t.__repr__repr(t)的调用)解析为(假设没有其他上游定义)object.__repr__,它由Python实现定义(例如,https://github.com/python/cpython/blob/master/Objects/typeobject.c#L3827