web-dev-qa-db-fra.com

Quand utiliser des guillemets simples triples au lieu de guillemets doubles triples

Apprenez Python à la dure, exercice 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: utilisez ''' (triple-single-quote) à la place. Pouvez-vous voir pourquoi vous pourriez utiliser cela au lieu de """?

Je ne vois pas pourquoi je pourrais utiliser ''' au lieu de """. Cela me donne la même sortie. Quelqu'un peut-il m'expliquer pourquoi j'utiliserais un guillemet triple simple au lieu d'un guillemet triple double? Quelle est la différence entre eux?

42
0101amt

La seule raison pour laquelle vous pourriez avoir besoin de """ au lieu de ''' (ou vice versa) est si la chaîne elle-même contient un guillemet triple.

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

Si une chaîne contient à la fois des triples guillemets simples et triples guillemets doubles, vous devrez échapper à l'un d'eux, mais c'est une situation extrêmement rare.

75
Mark Byers