lzb1001 发表于 2023-4-12 10:59:02

str是string的缩写,repr是什么单词的缩写?

>>> print(repr(a))
'三只小猪:A、B、C'
>>> print(str(a))
三只小猪:A、B、C

isdkz 发表于 2023-4-12 11:03:19

repr 是 "representation" 的缩写,它是一个 Python 内置函数,用于获取对象的字符串表示形式。repr() 函数返回的字符串表示通常是一个有效的 Python 表达式,用于创建或重建对象。这与 str() 函数略有不同,后者主要用于创建对象的人类可读表示

lzb1001 发表于 2023-4-12 11:08:11

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

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

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

三只小猪:A、B、C

就只是有无单引号的区别,但都是可读的啊

isdkz 发表于 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]
查看完整版本: str是string的缩写,repr是什么单词的缩写?