Maison > développement back-end > Tutoriel Python > Pourquoi Python affiche-t-il des doubles barres obliques inverses dans les représentations sous forme de chaîne ?

Pourquoi Python affiche-t-il des doubles barres obliques inverses dans les représentations sous forme de chaîne ?

Susan Sarandon
Libérer: 2024-12-17 03:17:24
original
451 Les gens l'ont consulté

Why Does Python Show Double Backslashes in String Representations?

Représentation des chaînes avec des barres obliques inverses

Lors de la définition de chaînes en Python qui contiennent des barres obliques inverses, il peut sembler que les barres obliques inverses apparaissent deux fois. Cette observation découle de la représentation créée par la méthode __repr__().

my_string = "why\does\it\happen?"
my_string
Copier après la connexion

Sortie :

'why\does\it\happen?'
Copier après la connexion
Copier après la connexion

La chaîne réelle, cependant, ne contient que des barres obliques inverses simples. Pour vérifier cela, imprimez la chaîne :

print(my_string)
Copier après la connexion

Sortie :

why\does\it\happen?
Copier après la connexion

Les chaînes avec des barres obliques inverses ont trois caractères et non quatre :

'a\b'
len('a\b')
Copier après la connexion

Sortie :

'a\b'
3
Copier après la connexion

La représentation standard d'une chaîne peut être obtenue en utilisant la fonction intégrée repr() function :

print(repr(my_string))
Copier après la connexion

Sortie :

'why\does\it\happen?'
Copier après la connexion
Copier après la connexion

Python représente les barres obliques inverses avec car la barre oblique inverse est un caractère d'échappement. Par exemple, n signifie une nouvelle ligne et t désigne une tabulation.

Cette représentation protège contre toute confusion potentielle :

print("this\text\is\not\what\it\seems")
Copier après la connexion

Sortie :

this    ext\is
ot\what\it\seems
Copier après la connexion

Pour inclure explicitement le caractère barre oblique inverse lui-même, échappez-le avec un autre barre oblique inverse :

print("this\text\is\what\you\need")
Copier après la connexion

Sortie :

this\text\is\what\you\need
Copier après la connexion

En résumé, la représentation des chaînes avec des barres obliques inverses inclut des barres obliques inverses échappées pour des raisons de sécurité. Cependant, les chaînes réelles ne contiennent que des barres obliques inverses simples.

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 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