jiang073600 发表于 2023-3-11 17:36:17

转义符是放前面还是后面?

如果是放前面,为什么我这个不报错?
003讲第六题:如下

print("bruce eckel say:'life is short,let'\s learn python.'")
打印出来是这个
bruce eckel say:'life is short,let'\s learn python.'

wp231957 发表于 2023-3-11 17:39:24

\s也不是转义啊

jiang073600 发表于 2023-3-11 17:43:44

wp231957 发表于 2023-3-11 17:39
\s也不是转义啊

那它为什么不报错呢,应该是\'吗?

isdkz 发表于 2023-3-11 17:45:59

jiang073600 发表于 2023-3-11 17:43
那它为什么不报错呢,应该是\'吗?

转义是放在前面,如果反斜杠无法跟后面的字符构成转义字符就把它当成普通的反斜杠,所以不会报错

jiang073600 发表于 2023-3-11 17:48:31

isdkz 发表于 2023-3-11 17:45
转义是放在前面,如果反斜杠无法跟后面的字符构成转义字符就把它当成普通的反斜杠,所以不会报错

那let后面不是多了个',没影响吗?

tommyyu 发表于 2023-3-11 17:49:30

jiang073600 发表于 2023-3-11 17:48
那let后面不是多了个',没影响吗?

不影响,因为是双引号包围整个字符串,不会因为单引号产生歧义。

jiang073600 发表于 2023-3-11 17:54:15

tommyyu 发表于 2023-3-11 17:49
不影响,因为是双引号包围整个字符串,不会因为单引号产生歧义。

那照这么说实际上这句代码实际上都不需要转义符,这样就可以吗?
print("bruce eckel say:'life is short,let's learn python.'")

我试了一下,还真可以,cpu给我干烧了

isdkz 发表于 2023-3-11 17:55:08

jiang073600 发表于 2023-3-11 17:48
那let后面不是多了个',没影响吗?

只要跟最外围的引号不一样,不转义也不会有什么影响
页: [1]
查看完整版本: 转义符是放前面还是后面?