Maison >développement back-end >Tutoriel Python >Pourquoi Python affiche-t-il des barres obliques inverses doublées dans les représentations sous forme de chaîne ?
Barres obliques inverses doublées dans les représentations Python
En Python, lorsque vous créez une chaîne contenant des barres obliques inverses, vous remarquerez peut-être qu'elles apparaissent doublées. Ce comportement provient de la méthode __repr__(), qui génère une représentation de la chaîne à des fins de débogage.
Cependant, la chaîne réelle, accessible via la fonction print(), contient des barres obliques inverses uniques comme prévu :
my_string = "why\does\it\happen?" print(my_string) # Outputs: why\does\it\happen?
Cette duplication est due au rôle des barres obliques inverses comme caractères d'échappement en Python. Par exemple, n représente une nouvelle ligne et t représente un onglet. Pour éviter toute ambiguïté, Python échappe aux barres obliques inverses en ajoutant une barre oblique inverse supplémentaire, ce qui entraîne .
print("this\text\is\not\what\it\seems") # Outputs strange escapes print("this\text\is\what\you\need") # Preserves the literal backslashes
Lorsque l'interpréteur Python renvoie la représentation d'une chaîne, il ne prend aucun risque et échappe à toutes les barres obliques inverses, qu'elles provoquent ou non tout problème. Cependant, la chaîne réelle reste intacte avec des barres obliques inverses simples.
Pour des informations plus détaillées sur la gestion par Python des littéraux de chaîne, reportez-vous à la documentation sur les littéraux de chaîne et d'octets, disponible ici : [littéraux de chaîne et d'octets](https ://docs.python.org/3/reference/lexical_analysis.html#string-and-bytes-literals)
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!