68 votes

Pourquoi Python ne donne-t-il pas #39 d&d’erreur lorsque les guillemets autour d’une chaîne ne correspondent pas ?

J’ai commencé à apprendre Python récemment et je ne comprends pas pourquoi Python se comporte comme ceci:

 >>> « OK » 'OK' >>> « ""OK"" » « OK » >>> « not Ok » Fichier « <stdin> », ligne 1 « not Ok' ^ SyntaxError: EOL lors de l’analyse de la chaîne littérale >>> « not OK"" » « not OK » </stdin>

Pourquoi ne donne-t-il pas une erreur pour la dernière instruction car le nombre de citations ne correspond pas ?

112voto

chepner Points 54078

La finale n’est pas reconnue comme une triple citation, mais une seule (pour fermer le littéral de chaîne actuel) suivie d’une chaîne vide ; les deux littéraux de chaîne juxtaposés sont concaténés. Le même comportement peut être plus facilement reconnu en mettant un espace entre la fermeture et l’ouverture.

32voto

Sandrin Joy Points 1114

``

Python interprète cela comme ``

Si vous donnez , vous obtiendrez la sortie comme

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X