为什么在Python中打印元组会使反斜杠加倍?

瓦斯布里利格

在Python中,当我打印带有反斜杠的字符串时,它仅打印一次反斜杠:

>>> print(r'C:\hi')
C:\hi
>>> print('C:\\hi')
C:\hi

但是我注意到当您打印带有反斜杠的字符串元组时,它会打印一个双反斜杠:

>>> print((r'C:\hi', 'C:\\there'))
('C:\\hi', 'C:\\there')

为什么在打印元组时其行为会有所不同?

(请注意,这在Python 2和3以及Windows和Linux中均会发生。)

金德尔

当您打印一个元组(或列表,或许多其他种类的项目)时,将打印所包含项目表示形式(repr(),而不是字符串值。对于更简单的类型,通常需要使用Python表示形式来获取值。这使您可以更轻松地将容器中的项目与将它们分开的标点符号区分开,并分辨它们的类型。(想想:是(1, 2, 3)三个整数的元组,还是一个字符串"1, 2"和一个整数的元组,3或者是值的其他组合?)

要查看repr()任何字符串的:

print(repr(r'C:\hi'))

在交互式Python提示符下,只需指定任何值(或变量或表达式)即可打印repr()

要将元组的内容打印为常规字符串,请尝试以下操作:

items = (r'C:\hi', 'C:\\there')
print(*items, sep=", ")

str.join() 也很有用,尤其是当您不打印而是建立一个字符串,以后将其用于其他用途时:

text = ", ".join(items)

但是,项目必须已经是字符串(join需要此字符串)。如果它们不是全部字符串,则可以执行以下操作:

text = ", ".join(map(str, items))

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

为什么在Python路径中需要4个反斜杠?

来自分类Dev

反斜杠b在Python中做什么?

来自分类Dev

python打印转义反斜杠

来自分类Dev

在exec()中打印反斜杠

来自分类Dev

为什么我在 python 字符串中得到一个反斜杠

来自分类Dev

为什么在PHP中3个反斜杠等于4个反斜杠?

来自分类Dev

为什么在`find`中的星号前加反斜杠?

来自分类Dev

为什么在此Shell脚本中包含反斜杠?

来自分类Dev

为什么元组比python中的列表大?

来自分类Dev

为什么VS C ++中的Path包含正斜杠而不包含反斜杠?

来自分类Dev

获取python猎豹打印反斜杠

来自分类Dev

为什么这个Haskell程序反斜杠?

来自分类Dev

为什么grep需要双反斜杠?

来自分类Dev

为什么单反斜杠变成双反斜杠

来自分类Dev

替换python中的反斜杠'\'

来自分类Dev

打印反斜杠问题

来自分类Dev

打印多个反斜杠

来自分类Dev

在本例中,为什么bash在引号删除步骤中不删除反斜杠?

来自分类Dev

如何打印反斜杠转义的字符串以在 Python 中输出 '\n'?

来自分类Dev

为什么JSON响应在Web API响应中包含反斜杠

来自分类Dev

为什么在我的JSON输出中像一串反斜杠

来自分类Dev

FuelPHP-为什么此代码中存在反斜杠:$ email = \ Email :: forge();

来自分类Dev

为什么MediaWiki 1.22.0在LocalSettings.php中的路径中使用反斜杠?

来自分类Dev

为什么字符串中的反斜杠(\)在控制台中给出错误

来自分类Dev

为什么返回元组比Python中的多个值更快?

来自分类Dev

转义反斜杠在javascript中打印两个反斜杠

来自分类Dev

为什么 Url 将反斜杠解码为 2 个反斜杠

来自分类Dev

Python 2使用什么方法打印元组?

来自分类Dev

在R字符串中打印反斜杠

Related 相关文章

热门标签

归档