agn*_*nel 2 python string quotes
我有一个字符串,其中包含这样的引号:
string = "\"This is my mom's vase\", said Kevin."
Run Code Online (Sandbox Code Playgroud)
问题是当我将它用作 python 中的字符串时,它会在单引号前添加一个反斜杠,如下所示:
>>> string
'"This is my mom\'s vase", said Kevin.'
>>>
Run Code Online (Sandbox Code Playgroud)
为什么会发生这种情况,我该怎么办?
您看到的是repr函数生成的字符串的表示形式。repr以这样的方式输出字符串,它们是有效的python文字;换句话说,您可以将 的输出复制/粘贴repr(string)到 python 程序中,而不会出现语法错误:
>>> string
'"This is my mom\'s vase", said Kevin.'
>>> '"This is my mom\'s vase", said Kevin.' # it's valid python code!
'"This is my mom\'s vase", said Kevin.'
Run Code Online (Sandbox Code Playgroud)
因为您的字符串同时包含单引号'和双引号",python 必须转义这些引号之一才能生成有效的字符串文字。与您使用反斜杠转义双引号的方式相同:
"\"This is my mom's vase\", said Kevin."
Run Code Online (Sandbox Code Playgroud)
Python 选择转义单引号:
'"This is my mom\'s vase", said Kevin.'
Run Code Online (Sandbox Code Playgroud)
当然,这两个字符串完全相同。那些反斜杠仅用于转义目的,它们实际上并不存在于字符串中。您可以通过printing 字符串来确认这一点,它输出字符串的真实值:
>>> print(string)
"This is my mom's vase", said Kevin.
Run Code Online (Sandbox Code Playgroud)
没有什么可以解决的!你还在这里做什么?向上滚动并再次阅读说明!
| 归档时间: |
|
| 查看次数: |
4398 次 |
| 最近记录: |