Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/string/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
&引用\\&引用;转义序列在python shell中不起作用_Python_String_Shell_Escaping_Backslash - Fatal编程技术网

&引用\\&引用;转义序列在python shell中不起作用

&引用\\&引用;转义序列在python shell中不起作用,python,string,shell,escaping,backslash,Python,String,Shell,Escaping,Backslash,当我在python shell中键入“hello”时,它会输出“hello”,但当我键入“\\”时,输出是“\\”而不是“\”。此外,当我使用三重引号时: >>>'''hello ...world''' "hello\nworld" 为什么输出有双引号?为什么他们要将单独的行转换为换行符“\n”。这很奇怪,因为例如print函数通常会将换行符转换为实际的换行符,但是shell似乎会做相反的事情。 有人能解释一下吗?它显示了创建字符串所需的输入内容。因为反

当我在python shell中键入“hello”时,它会输出“hello”,但当我键入“\\”时,输出是“\\”而不是“\”。此外,当我使用三重引号时:

>>>'''hello
...world''' 
"hello\nworld"
为什么输出有双引号?为什么他们要将单独的行转换为换行符“\n”。这很奇怪,因为例如print函数通常会将换行符转换为实际的换行符,但是shell似乎会做相反的事情。
有人能解释一下吗?

它显示了创建字符串所需的输入内容。因为反斜杠是一个转义字符,所以必须将其加倍才能使其成为文字。使用
print()
查看人工格式的输出,而不是输入表示形式。@Barmar我确实放了一个双反斜杠,但它没有变成文字。而且shell不会返回纯输入表示,因为“\”的转义序列在python shell中工作。单引号不需要在双引号字符串中转义,因此它不会用反斜杠显示。它只转义需要转义的字符。