在Python字符串中有单引号和双引号
嗨我想要一个字符串包含单引号和双引号在Python - ('“)。我需要这个表达式的原因是作为一个输入到一些外部的批处理命令,但是python总是自动纠正(\'“)。我想知道是否有办法将双引号和单引号放在一起。谢谢。在Python字符串中有单引号和双引号
使用三重引号。
"""Trip'le qu"oted"""
或
'''Ag'ain qu"oted'''
请记住,只是因为Python repr
是个字符串反斜杠,并不意味着它实际上添加任何斜线字符串,它可能只是呈现出特殊字符转义。
使用Python教程的例子:
>>> len('"Isn\'t," she said.')
18
>>> len('''"Isn't," she said.''')
18
即使第二个字符串,因为它没有一个反斜杠出现一个字符短,它实际上是相同的长度 - 反斜杠只是以避免单引号字符串中的单引号。
又如:
>>> for c in '''"Isn't," she said.''':
... sys.stdout.write(c)
...
"Isn't," she said.
>>>
如果你不让Python的格式化字符串,就可以看到该字符串还未改变,它只是Python的尝试明确地显示出来。
使用三引号字符串:
""" This 'string' contains "both" types of quote """
''' So ' does " this '''
感谢您的回应。但是,我仍然有问题,因为我上面评论。顺便说一下,我使用python 2.7 – GHO
@GHO:“仍然有问题”。意思是(1)在问题中发布实际代码;(2)从实际的'print'语句中发布实际输出;在问题中;(3)发布你实际得到的实际错误。 - 可悲的是 - 无法猜测你使用的是什么代码。 –
虽然它的更详细的, 另一种方法是做到以下几点:
STR1 =“有双‘S’,在它的一部分'
STR1 = STR1 +‘其具有单个零件‘
可以或者(1)用双引号括字符串,逃离斗在它s’的’ (2)用单引号将字符串括起来,用\
转义单引号。例如:
>>> print('She is 5\' 6" tall.')
She is 5' 6" tall.
>>> print("He is 5' 11\" tall.")
He is 5' 11" tall.
实际的问题是,打印()语句不打印\但是当你是指在解释该字符串的值,它会显示一个“\”每当撇号用过的 。举例来说,请参考下面的代码:
>>> s = "She said, \"Give me Susan's hat\""
>>> print(s)
She said, "Give me Susan's hat"
>>> s
'She said, "Give me Susan\'s hat"'
这是无论你是否使用单,双或三引号内的字符串。
>>> s = """She said, "Give me Susan's hat" """
>>> s
'She said, "Give me Susan\'s hat" '
另一种方式包括这样的:
>>> s = '''She said, "Give me Susan's hat" '''
>>> s
'She said, "Give me Susan\'s hat" '
>>> s = '''She said, "Give me Susan\'s hat" '''
>>> s
'She said, "Give me Susan\'s hat" '
所以基本上,蟒蛇不会删除当你指的s的值,但删除它,当你尝试打印\。尽管如此,当您提到s的长度时,它不会计入“\”。 对于例如,
>>> s = '''"''"'''
>>> s
'"\'\'"'
>>> print(s)
"''"
>>> len(s)
4
同时添加筛选Python的使用单点和双引号(转义)的报价。 试试这个,例如:
print(" just display ' and \" ")
的\"
告诉巨蟒这不是引用字符串的结尾。
你的意思是说,当你打印它时,或只有当你在解释器中看它时,反斜杠才会出现吗? –
“python总是自动纠正”?哪里?怎么样?请'输出'输出**是肯定**你得到什么。请注意,你从'repr()'看到的东西以及你在'>>>'提示符处看到的内容与字符串中的**实际**不匹配。 'repr()'和'>>>'版本是Python源代码。不是实际值。请**通过具体的例子更新**你的问题。 –