栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

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

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

当我在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表达式:可以使用更方便或更简洁的表示形式。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/611114.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号