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
Libérer: 2024-12-30 15:14:19
original
996 Les gens l'ont consulté

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?
Copier après la connexion

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
Copier après la connexion

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

>>> print(repr(my_string))
'why\does\it\happen?'
Copier après la connexion

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
Copier après la connexion

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
Copier après la connexion

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!

source:php.cn
Déclaration de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal