这个问题在这里已经有答案了:
“str”和“repr”之间有什么区别?
(25个答案)
(25个答案)
11个月前关闭的
我真的不明白Python中在哪里使用了\uuuu str\uuuuuu和\uuuu repr\uuuuu。我的意思是,\uuu str\uu返回对象的字符串表示形式。但我为什么需要它呢?在什么用例场景中?此外,我还了解了\uuu repr\uuu
但我不明白的是,我在哪里使用它们
报告
由
repr()内置函数和字符串转换(反向引号)调用,以计算对象的“正式”字符串表示形式。如果可能的话,这应该看起来像一个有效的Python表达式,可以用来重新创建具有相同值的对象(给定适当的环境)
\uuuu str\uuuuu
由
str()内置函数和print语句调用,以计算对象的“非正式”字符串表示形式
如果您有一个类,则使用\uuuu str\uuu,无论何时将此对象用作字符串的一部分,您都需要一个信息性/非正式的输出。例如,您可以为Django模型定义\u_str\u_方法,然后在Django管理界面中呈现这些方法。而不是像<;模型对象>你会得到一个人的名字和姓氏,事件的名称和日期等
\uuuuu repr\uuuuuuu和\uuuuu str\uuuuuuuu相似,事实上有时是相等的(例如来自标准库集合.py中的基集类):
def\uuu repr\uuu(self):
“”“返回集合的字符串表示形式。
这看起来像“集合([<;元素列表]])。
"""
返回自我。_repr()
#“str”与“repr”相同__
__str\uuuuuu=\uuuuuuu repr__