当我在Python或IPython控制台中时,返回输出该怎么办?

当我在Python或IPython控制台中时,返回输出该怎么办?,第1张

当我在Python或IPython控制台中时,返回输出该怎么办?

当您在REPL中以这种方式检查对象时,它将调用该对象的

__repr__
方法。相比之下,
print
使用对象的
__str__
方法。例:

>>> class Widget:...     def __repr__(self):...  return "repr of a Widget"...     def __str__(self):...  return "str of a Widget"...>>> x = Widget()>>> xrepr of a Widget>>> print(x)str of a Widget>>> print([x,2,3])[repr of a Widget, 2, 3]>>> print(repr(x))repr of a Widget>>> print(str(x))str of a Widget

当定义

__repr__
__str__
为自己的班,尽量遵循关于哪一个应该更详细,“官方”的文件的建议。

[

__repr__
计算]对象的“正式”字符串表示形式。如果可能的话,这应该看起来像一个有效的Python表达式,可用于重新创建具有相同值的对象(在适当的环境下)。

[

__str__
计算]对象的“非正式”字符串表示形式。返回值必须是一个字符串对象。此方法的不同之处在于,
object.__repr__()
不期望
__str__()
返回有效的Python表达式:可以使用更方便或更简洁的表示形式。



欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zaji/5617237.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-15
下一篇 2022-12-15

发表评论

登录后才能评论

评论列表(0条)

保存