python2.7转义问题,x='C:\py\code'

发布于 2022-09-01 12:52:57 字数 452 浏览 21 评论 0

图片描述

我想问的是输出x为什么是双斜杠,打印又是单斜杠。
这是python学习手册上的一个例子。解释是python没有一个合法的转义编码识别出在'\'后的字符,它就会简单地在最终的字符串中保留反斜线。为什么保留反斜线多保留一条了呢,print又是怎么能正常显示呢

菜鸟一个,也没搜索到答案。还劳烦不介意幼稚的问题帮我解答,谢谢您了。

还有这个也不明白:
图片描述

输出path为什么会是双斜杠

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

卸妝后依然美 2022-09-08 12:52:57
phpstr()出来的值是给人看的,repr()出来的值是给python看的
在提示符后直接输入一个变量名`path`,结果跟`print repr(path)`是一样的

>>> path
'c:\\new\\test'
>>> print repr(path)
'c:\\new\\test'

>>> print path
c:\new\test
>>> print str(path)
c:\new\test

冷心人i 2022-09-08 12:52:57

"\" 是Python 中的转义符号,用于打印一些特殊符号。
例如,"\'" 表示单引号。

>>> s = 'hello\'world\''
>>> s
"hello'world'"

当反斜杠"\" 和后面的字符无法组成有效的转义字符时,Python 就认为反斜杠本身需要作为字符保留在字符串中。
在你给的例子中,\c\p并不是合法的转义符号,所以保留反斜杠"\"。而反斜杠本身通过转义符号\\表示,所以Python 在字符串中成了双反斜杠。这样在打印时,可以输出正常的内容。

>>> s = 'C:\py\code'
>>> s
'C:\\py\\code'
>>> print s
C:\py\code
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文