何时使用三重单引号而不是三重双引号

Posted

技术标签:

【中文标题】何时使用三重单引号而不是三重双引号【英文标题】:When to use triple single quotes instead of triple double quotes 【发布时间】:2011-12-08 15:30:03 【问题描述】:

艰难地学习 Python,练习 10.2:

tabby_cat = "\tI'm tabbed in."
persian_cat = "I'm split\non a line."
backslash_cat = "I'm \\ a \\ cat."

fat_cat = """
I'll do a list:
\t* Cat food
\t* Fishies
\t* Catnip\n\t* Grass
"""

print tabby_cat
print persian_cat
print backslash_cat
print fat_cat

2:改用'''(三单引号)。你能明白为什么你可以使用它而不是"""吗?

我不明白为什么我可以使用''' 而不是"""。它给了我相同的输出。有人能解释一下为什么我会使用三单引号而不是三双引号吗?它们有什么区别?

【问题讨论】:

看***.com/questions/56011/… 另外你不必记住python中"'之间的区别 你知道为什么你可以使用' 而不是" 或者反之亦然吗?尝试应用相同的逻辑。 【参考方案1】:

您可能需要""" 而不是'''(反之亦然)的唯一原因是字符串本身是否包含三引号。

s1 = '''This string contains """ so use triple-single-quotes.'''
s2 = """This string contains ''' so use triple-double-quotes."""

如果一个字符串同时包含三单引号三双引号,那么您将不得不转义其中一个,但这种情况极为罕见。

【讨论】:

非常感谢您的解释!【参考方案2】:

我发现类似的情况需要'''而不是""",即当双引号符号出现在字符串末尾时,反之亦然。

无效语法:

print("""2 feet 4 inches can be written in 2' 4"""")
print('''2 feet can be written in 2'''')

有效语法:

print('''2 feet 4 inches can be written in 2' 4"''')
print("""2 feet can be written in 2'""")

【讨论】:

以上是关于何时使用三重单引号而不是三重双引号的主要内容,如果未能解决你的问题,请参考以下文章

Python中的单引号与双引号[关闭]

pycharm中的三重双引号突出显示为绿色而不是灰色

正则表达式逐行:如何匹配三引号而不是双引号

如何正确转义 JSP 标记中的三重嵌套引号

python输出串多行数字空格

如何在python中过滤三重和双引号?