gpt4 book ai didi

python - 什么时候调用 __repr__() ?

转载 作者:太空狗 更新时间:2023-10-29 17:23:32 32 4
gpt4 key购买 nike

print OBJECT 调用OBJECT.__str__(),那么什么时候调用OBJECT.__repr__()?我看到当 OBJECT.__str__() 不存在时 print OBJECT 调用 OBJECT.__repr__(),但我希望这不是唯一的调用 __repr__() 的方法。

最佳答案

repr(obj)

通话

obj.__repr__

__repr__ 的目的是它提供对象的“正式”表示,该对象应该是一个可以被求值来创建对象的表达式。也就是说,

obj == eval(repr(obj))

应该,但在实践中并不总是产生 True

我在评论中被问及何时 obj != eval(repr(obj)) 的示例。

class BrokenRepr(object):
def __repr__(self):
return "not likely"

还有一个:

>>> con = sqlite3.connect(':memory:')
>>> repr(con)
'<sqlite3.Connection object at 0xb773b520>'
>>>

关于python - 什么时候调用 __repr__() ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3764360/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com