寻求html.unescape(“”)

时间:2016-10-09 03:22:18

标签: python python-3.x

这是我的代码:

import os
import html

a = html.unescape("home - study")
b = "test"
print(a)
s = (a, b)
print(s)

这是我的结果:

home - study
('home\xa0-\xa0study', 'test')

为什么结果会这样打印?

1 个答案:

答案 0 :(得分:2)

默认情况下,打印tupleslists和其他等容器将使用其项目的repr (在CPython中,选择不实现<container>.__str__而是让object.__str__填充其广告位。__str__的{​​{1}}将调用object然后调用the repr of the elements it contains。有关详情,请参阅PEP 3140。)

tuple.__repr__中调用带有转义码的字符串(例如repr)实际上不会逃避它们:

\xa0

要进一步验证,请尝试print(repr(a)) 'home\xa0-\xa0study' 。通过直接在print(s[0])位置提供str对象,python将调用 0并正确转义十六进制。