我想做一个列表,字面意思是:''
。但是做string = ''
会引发EOL SyntaxError。我该怎么做呢?
许多答案说做string = '\'
,但当我打印字符串时,它显示为'\'
而不是''
编辑1这曾经是关于包含字符串的列表(['']
而不是''
)。但我意识到名单不是问题所在。这就是为什么一些答案讨论了一个列表。
编辑2这是一个vscode笔记本问题!更多编辑这不会发生在标准的木星笔记本上。即使当我试图将string = '\'
写入文件而不是打印它时,它也会显示为'\'
您可以使用chr(chr_number)
绕过Python字符串插值逻辑。在本例中,92
:
>>> li=[chr(92)]
>>> li
['\'] # that is a SINGLE character of ''
然后使用*
设置为任意长度:
>>> s=chr(92)*3
>>> s
'\\\'
>>> len(s)
3
它可以在f
字符串中工作,因为你可能想要:
>>> f'{chr(92)}'
'\'
这个问题最简单的解决方案是使用两个反斜杠:\
。这样,Python看到第一个反斜杠,并按字面意思解释第二个反斜杠。
ls = ['\']
编辑:
如果你要求双反斜杠,那么:
ls = [r'\']
被称为原始字符串。
编辑问题:
你应该这样写:
string=r'\'
可以使用双反斜杠。想象第二个否定了它。
ls = ['\']
TL;DR
the_list = ["\"]
解释:
字符是转义字符。I表示
之后的字符不被认为是有意义的字符。
例如,如果你想把"
放在一个字符串中,你可以这样做:
string = "There is a " in my text"
所以你应该转义字符串中的。