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
Susan Sarandonoriginal
2024-12-17 03:17:24375parcourir

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

Sortie :

'why\does\it\happen?'

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)

Sortie :

why\does\it\happen?

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

'a\b'
len('a\b')

Sortie :

'a\b'
3

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

print(repr(my_string))

Sortie :

'why\does\it\happen?'

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

Sortie :

this    ext\is
ot\what\it\seems

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

Sortie :

this\text\is\what\you\need

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