2024-05-29 11:10:15 发布
网友
这是我的代码:
import os import html a = html.unescape("home - study") b = "test" print(a) s = (a, b) print(s)
这是我的结果:
为什么结果打印成这样?在
{cdm>和其他的容器默认使用(在CPython中,它被选择不实现<container>.__str__,而是让object.__str__填充其插槽。object的__str__将调用tuple.__repr__,然后继续调用{a1}。更多信息请参见PEP 3140。)
<container>.__str__
object.__str__
object
__str__
tuple.__repr__
对带有转义码的字符串调用repr(例如\xa0)实际上不会转义:
repr
\xa0
print(repr(a)) 'home\xa0-\xa0study'
要进一步验证,请尝试print(s[0])。通过直接在0位置提供str对象,python将调用它的__str__,并正确转义十六进制。在
print(s[0])
0
str
{cdm>和其他的容器默认使用(在CPython中,它被选择不实现
<container>.__str__
,而是让object.__str__
填充其插槽。object
的__str__
将调用tuple.__repr__
,然后继续调用{a1}。更多信息请参见PEP 3140。)对带有转义码的字符串调用
repr
(例如\xa0
)实际上不会转义:要进一步验证,请尝试
print(s[0])
。通过直接在0
位置提供str
对象,python将调用它的__str__
,并正确转义十六进制。在相关问题 更多 >
编程相关推荐