在翻译中,当我写代码时
"it's 42\""
进行python显示
'it's 42"'
正在显示
'it\'s 42"'
相反。现在,我想了解为什么,然后再解决这个问题。
答案 0 :(得分:1)
你试过print("it's 42\"")
吗?如果您正在做
>>>"it's 42\""
'it\'s 42"
然后你实际上并没有打印字符串,只显示它的值。
答案 1 :(得分:1)
我将它缩小,因为如果你在字符串中使用' ,为了显示它,使用" 的python框架字符串:
>> "it's 42"
"it's 42"
现在如果在字符串中使用" ,使用' 的python框架字符串:
>> "\"it s 42\""
'"it s 42"'
但是如果你在同一时间使用2 python自动逃逸,其中一个不会混淆那个框架链:
>> "it's 42\""
'it\'s 42"'
答案 2 :(得分:0)
当你输入shell时:
"it's 42\""
它显示根据你写的内容创建的字符串变量,python 默认为'使用即可。所以你得到:
'it\'s 42"'
当你想到它时,你写的是完全相同的字符串!你用了#34;"表示字符串并转义额外的",但python在shell中使用'并且在' s。
中逃脱了额外的一个要正确显示字符串,请使用正确读取转义的打印方法。我保证打印你的版本或你的shell返回的版本都会产生你想要的。
在旁注中,您可以使用三引号一起跳过转义:
'''it's 42"'''
需要注意的是,您不能使用三重双引号,因为python会认为字符串的结尾是字符串外壳的一部分。