这个是我在 python 自带的 idle 中敲了下列代码,结果为什么是这样?
1
fjhmx OP 为什么不是'\\nihao'???
|
2
Trim21 2016-10-13 15:07:21 +08:00 via Android
因为不是 print 内容,没必要转义
|
3
Trim21 2016-10-13 15:08:46 +08:00 via Android
因为不是要打印这个字符串,所以没必要把转义字符转义之后再输出,这里只是提示一下这个变量是啥而已
|
4
Zzzzzzzzz 2016-10-13 15:09:41 +08:00
要转义引号前加 r
你这里\n 是换行, 要是 print 就是换个行然后 ihao |
7
popu111 2016-10-13 15:33:07 +08:00
并没有为\K 的转义符,故 Python 认为你是想输入一个\,自动帮你插入了(我也懒得试了,只看楼主的描述回答,不正确的话还请谅解
|
8
yangtukun1412 2016-10-13 15:33:45 +08:00
可以看下 Python 源码中的 PyString_DecodeEscape() 函数, 对非 escape 字符会将 \ 处理为 \\.
|
9
tankb52 2016-10-13 15:36:53 +08:00
|
10
jugelizi 2016-10-13 15:58:17 +08:00
不要在交互模式下写代码
|
11
coroutine 2016-10-13 16:14:44 +08:00
→_→ 为什么说的那么麻烦的样子。
"\n"是有特殊含义的(换行)。 你 print 的时候,就会发现 \n 代表换行了→_→ 而由于反斜杠加上其他字符有特殊含义,所以你真的要写包含反斜杠(就是你的\KKKK 中的)的时候,需要把这个转义。所以你就看到了两根反斜杠→_→ 第一个反斜杠 用于 转义你真的想表达的那根第二个反斜杠。 |
12
introom 2016-10-13 16:33:07 +08:00 via Android
为什么要动不动称呼大神,就好像罗湖过关的时候,收购的贩子看到你手里拿着奶粉就会很殷切地喊你靓仔一个道理么?
|