Maison >développement back-end >Tutoriel Python >Pourquoi les littéraux de chaîne brute Python ne peuvent-ils pas se terminer par une seule barre oblique inverse ?

Pourquoi les littéraux de chaîne brute Python ne peuvent-ils pas se terminer par une seule barre oblique inverse ?

Patricia Arquette
Patricia Arquetteoriginal
2024-12-27 14:45:14854parcourir

Why Can't Python Raw String Literals End with a Single Backslash?

Littéraux de chaîne brute en Python

En Python, les littéraux de chaîne brute ne peuvent pas se terminer par une seule barre oblique inverse. Au lieu de cela, un nombre pair de barres obliques inverses est requis, suivi d'un guillemet simple ou double.

Pourquoi cette restriction ?

L'idée fausse à propos des chaînes brutes est que les barres obliques inverses sont présentes à l'intérieur de celles-ci. sont traités comme des caractères normaux. Cependant, ce n'est pas le cas.

Selon la documentation Python, lorsqu'une barre oblique inverse apparaît dans une chaîne brute, elle reste dans la chaîne avec le caractère qui la suit. Cela contraste avec les caractères d'échappement dans les chaînes normales, qui sont interprétés spécialement.

Conséquences de la restriction

  • r'abcd' : Représente la chaîne "a, b, c, , d" (4 caractères).
  • r'abc'd' : Représente la chaîne "a, b, c, , ', d" (5 caractères).
  • r'abc'' : Représente la chaîne "a, b, c, , '" (4 caractères).

Dans le cas de "r'abc'", la chaîne est incomplète car la barre oblique inverse est interprétée comme faisant partie de la chaîne et il n'y a pas de guillemet fermant final.

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