Skip to content

Écrire une longue chaîne sur plusieurs lignes en Python

Lors de l’utilisation des vérificateurs de code PEP8 tels que flake8 en Python, une erreur, la ligne E501 trop longue, est émise lorsqu’une ligne dépasse 80 caractères.

Cet article décrit comment écrire une longue chaîne qui ne contient pas de nouvelle ligne sur plusieurs lignes.

  • Utilisez une barre oblique inverse () comme caractère de continuation de ligne
  • Utiliser les parenthèses

Consultez l’article suivant pour diverses opérations liées aux chaînes avec des sauts de ligne.

Si vous souhaitez envelopper ou tronquer de longues chaînes, le module textwrap est utile. Voir l’article suivant.

Si le nombre de caractères dans une ligne devient trop long en raison du chaînage de méthodes, vous pouvez couper la ligne de la même manière.

Utilisez une barre oblique inverse () comme caractère de continuation de ligne

En Python, une barre oblique inverse () est un caractère de continuation de ligne. Si un antislash est placé en fin de ligne, on considère que la ligne se poursuit sur la ligne suivante.

n = 1 + 2
    + 3

print(n)
# 6

De plus, si plusieurs littéraux de chaîne sont écrits séquentiellement, ils sont concaténés en une seule chaîne comme suit :

s = 'aaa' 'bbb'

print(s)
# aaabbb

Par conséquent, vous pouvez écrire une longue chaîne sur plusieurs lignes comme suit :

s = 'https://ja.wikipedia.org/wiki/'
    '%E3%83%97%E3%83%AD%E3%82%B0%E3%83'
    '%A9%E3%83%9F%E3%83%B3%E3%82%B0%E8%A8%80%E8%AA%9E'

print(s)
# https://ja.wikipedia.org/wiki/%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0%E8%A8%80%E8%AA%9E

Seuls les littéraux de chaîne (chaîne accompagnée de ‘ou’) sont concaténés s’ils sont écrits consécutivement. Notez que dans le cas de variables, une erreur est générée.

s_var = 'xxx'

# s="aaa" s_var 'bbb'
# SyntaxError: invalid syntax

Utilisez l’opérateur + pour concaténer des variables ou des variables et des littéraux de chaîne.

s = 'aaa' + s_var + 'bbb'

print(s)
# aaaxxxbbb

Vous avez besoin de l’opérateur + pour concaténer des variables, même si elles sont séparées par une barre oblique inverse ().

s = 'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa'
    + s_var
    + 'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb'

print(s)
# aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaxxxbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb

Consultez l’article suivant pour plus de détails sur la concaténation de chaînes.

Utiliser les parenthèses

En Python, vous pouvez librement couper la ligne entre parenthèses ((), {}, []). En utilisant cette règle, vous pouvez écrire une longue chaîne sur plusieurs lignes avec des parenthèses au lieu de barres obliques inverses.

Parce que {} est utilisé pour set et [] est utilisé pour liste, utilise () à cette fin. Notez que tuple est créé par des virgules, pas ().

Vous pouvez écrire comme suit.

s = ('https://ja.wikipedia.org/wiki/'
     '%E3%83%97%E3%83%AD%E3%82%B0%E3%83'
     '%A9%E3%83%9F%E3%83%B3%E3%82%B0%E8%A8%80%E8%AA%9E')

print(s)
# https://ja.wikipedia.org/wiki/%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0%E8%A8%80%E8%AA%9E

Si des variables sont incluses, vous avez besoin de l’opérateur +.

s = ('aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa'
     + s_var
     + 'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb')

print(s)
# aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaxxxbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb