Maison >développement back-end >Tutoriel Python >Pourquoi les barres obliques inverses sont-elles doublées lors de l'affichage de chaînes Python ?

Pourquoi les barres obliques inverses sont-elles doublées lors de l'affichage de chaînes Python ?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2024-12-30 15:14:19997parcourir

Why are Backslashes Doubled When Displaying Python Strings?

Pourquoi les barres obliques inverses apparaissent deux fois

Lorsque vous stockez des chaînes avec des barres obliques inverses en Python, vous remarquerez peut-être qu'elles apparaissent doublées. Cela se produit lors de l'utilisation de la méthode __repr__() pour récupérer la représentation de la chaîne. En utilisant print() à la place, vous observerez que les barres obliques inverses restent uniques, comme prévu :

>>> my_string = "why\does\it\happen?"
>>> my_string
'why\does\it\happen?'

>>> print(my_string)
why\does\it\happen?

Malgré le doublement affiché dans la représentation, la chaîne elle-même ne contient que des barres obliques inverses simples, comme le démontre sa longueur. :

>>> 'a\b'
'a\b'
>>> len('a\b')
3

Pour récupérer la représentation standard d'une chaîne, utilisez la repr() function :

>>> print(repr(my_string))
'why\does\it\happen?'

Python représente les barres obliques inverses comme dans des chaînes car la barre oblique inverse agit comme un caractère d'échappement. Par exemple, n signifie une nouvelle ligne et t représente un onglet. Cependant, cela peut entraîner un comportement involontaire :

>>> print("this\text\is\not\what\it\seems")
this    ext\is
ot\what\it\seems

Pour spécifier l'apparence littérale d'une barre oblique inverse, doublez-la :

>>> print("this\text\is\what\you\need")
this\text\is\what\you\need

En conclusion, lors de la récupération de la représentation d'une chaîne, Python échappe toutes les barres obliques inverses pour des raisons de sécurité. Néanmoins, la chaîne réelle ne contient que des barres obliques inverses simples. Pour plus d'informations sur les littéraux de chaîne de Python, reportez-vous à la documentation officielle.

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn