鱼C论坛

 找回密码
 立即注册
查看: 5188|回复: 10

关于反斜杠\

[复制链接]
发表于 2022-11-23 00:03:40 From FishC Mobile | 显示全部楼层
lzb1001 发表于 2022-11-22 16:26
前半段懂了,后半段即:

而 IDLE 显示 '\\' 也是因为 IDLE 是一个解释环境,当你输入一个变量或者表 ...

其实原因在于,当\个数为奇数个的时候,编译器会先看最后一个反斜杠能否和后面的字符组成合法的转义序列(就是有没有意义,比如\n代表换行),如果不是合法的转义序列,比如楼主输入的\h,没有任何意义,python就会把反斜杠和后面的h分开处理,当做\和h两个字符。所以直接用字符串形式输出的时候,如果反斜杠是奇数个,因为h前面的这个\没法跟h组合,所以这个\会被计算机当做一个单独的\,于是计算机就会自动在这个\前加上一个\作为转义字符。在打印的时候,最后的这个\也就被作为一个单独的\打印出来。

不过在3.6及以后的python版本里,如果是奇数个\,并且最后面的\没法与后面的字符组成合法转义序列的话,就会报语法错误Syntax Error。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-11-24 09:46:41 | 显示全部楼层
lzb1001 发表于 2022-11-23 23:55
感谢解答

1、不过我的版本是3.7.6,并没有返回语法错误的提示(见下图),不知道怎么回事

哦哦,可能是我用的Pycharm,和IDLE不太一样。第2和第3个的理解是没问题的。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-10-27 09:46

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表