鱼C论坛

 找回密码
 立即注册
查看: 2471|回复: 4

[已解决]str是string的缩写,repr是什么单词的缩写?

[复制链接]
发表于 2023-4-12 10:59:02 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
>>> print(repr(a))
'三只小猪:A、B、C'
>>> print(str(a))
三只小猪:A、B、C
最佳答案
2023-4-12 11:18:32
lzb1001 发表于 2023-4-12 11:08
str() 函数用于创建对象的人类可读表示看不明白,也不太理解。上面两种表达式的返回结果:

'三只小猪 ...

抱歉刚刚的回答没有解释清楚。str() 和 repr() 两个函数的目标是略有不同的。

尽管在某些情况下,它们的输出可能类似,但它们的设计目的和用途有所区别。

str() 的主要目的是生成一个人类可读的字符串表示。当你需要将对象转换为简洁、易读的字符串时,可以使用 str() 函数。

比如,在格式化输出时,str() 的结果往往更适合人类阅读。

repr() 的主要目的是生成一个更为精确和详细的字符串表示,通常是一个有效的 Python 表达式。

当你需要一个对象的详细信息,或者希望通过输出的字符串重新创建对象时,可以使用 repr() 函数。在调试过程中,repr() 的结果通常更有用,因为它提供了更多关于对象的信息。

举个例子来说明这两个函数的区别:
import datetime

dt = datetime.datetime(2023, 4, 12, 13, 45, 30)

str_dt = str(dt)
repr_dt = repr(dt)

print("str():", str_dt)
print("repr():", repr_dt)

输出结果:
str(): 2023-04-12 13:45:30
repr(): datetime.datetime(2023, 4, 12, 13, 45, 30)

可以看到,在这个例子中,str() 返回了一个简洁的日期时间字符串,而 repr() 返回了一个可以用于重新创建 datetime 对象的 Python 表达式。

评分

参与人数 1荣誉 +5 鱼币 +5 贡献 +3 收起 理由
qslife + 5 + 5 + 3 写的非常清楚

查看全部评分

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2023-4-12 11:03:19 | 显示全部楼层
repr 是 "representation" 的缩写,它是一个 Python 内置函数,用于获取对象的字符串表示形式。repr() 函数返回的字符串表示通常是一个有效的 Python 表达式,用于创建或重建对象。这与 str() 函数略有不同,后者主要用于创建对象的人类可读表示

点评

我很赞同!: 5.0
我很赞同!: 5
原来是这个意思,终于明白了。  发表于 2024-3-16 14:44
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2023-4-12 11:08:11 | 显示全部楼层
isdkz 发表于 2023-4-12 11:03
repr 是 "representation" 的缩写,它是一个 Python 内置函数,用于获取对象的字符串表示形式。repr() 函数 ...

str() 函数用于创建对象的人类可读表示看不明白,也不太理解。上面两种表达式的返回结果:

'三只小猪:A、B、C'

三只小猪:A、B、C

就只是有无单引号的区别,但都是可读的啊
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-4-12 11:18:32 | 显示全部楼层    本楼为最佳答案   
lzb1001 发表于 2023-4-12 11:08
str() 函数用于创建对象的人类可读表示看不明白,也不太理解。上面两种表达式的返回结果:

'三只小猪 ...

抱歉刚刚的回答没有解释清楚。str() 和 repr() 两个函数的目标是略有不同的。

尽管在某些情况下,它们的输出可能类似,但它们的设计目的和用途有所区别。

str() 的主要目的是生成一个人类可读的字符串表示。当你需要将对象转换为简洁、易读的字符串时,可以使用 str() 函数。

比如,在格式化输出时,str() 的结果往往更适合人类阅读。

repr() 的主要目的是生成一个更为精确和详细的字符串表示,通常是一个有效的 Python 表达式。

当你需要一个对象的详细信息,或者希望通过输出的字符串重新创建对象时,可以使用 repr() 函数。在调试过程中,repr() 的结果通常更有用,因为它提供了更多关于对象的信息。

举个例子来说明这两个函数的区别:
import datetime

dt = datetime.datetime(2023, 4, 12, 13, 45, 30)

str_dt = str(dt)
repr_dt = repr(dt)

print("str():", str_dt)
print("repr():", repr_dt)

输出结果:
str(): 2023-04-12 13:45:30
repr(): datetime.datetime(2023, 4, 12, 13, 45, 30)

可以看到,在这个例子中,str() 返回了一个简洁的日期时间字符串,而 repr() 返回了一个可以用于重新创建 datetime 对象的 Python 表达式。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-11-14 20:45

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表