Skip to content

Scrivere una stringa lunga su più righe in Python

Python

Quando si utilizza controlli di codice PEP8 come flake8 in Python, viene generato un errore, la riga E501 troppo lunga, quando una riga supera gli 80 caratteri.

In questo articolo viene descritto come scrivere una lunga stringa che non contiene una nuova riga su più.

  • Usa una barra rovesciata () come carattere di continuazione della riga
  • Usa le parentesi

l’articolo seguente per varie operazioni relative alle stringhe con vedere interruzioni di riga.

Se vuoi avvolgere o troncare stringhe lunghe, il modulo textwrap è utile. Vedi il seguente articolo.

Se il numero di caratteri in una riga diventa troppo lungo a causa del concatenamento dei metodi, puoi interrompere la riga allo stesso modo.

Usa una barra rovesciata () come carattere di continuazione della riga

In Python, una barra rovesciata () è un carattere di continuazione di riga. Se una barra rovesciata viene posizionata alla fine di una riga, si considera che la riga continui sulla riga successiva.

n = 1 + 2 
    + 3

print(n)
# 6

Inoltre, se più stringhe letterali vengono in sequenza, vengono concatenate in una stringa come segue:

s = 'aaa' 'bbb'

print(s)
# aaabbb

Pertanto, puoi scrivere una lunga stringa in più righe come segue:

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

Solo i valori letterali stringa (stringa racchiusa tra ‘o “) vengono concatenati se scritti consecutivamente. Notare che nel caso delle variabili viene generato un errore.

s_var = 'xxx'

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

Utilizzare l’operatore + per concatenare variabili o variabili e letterali stringa.

s = 'aaa' + s_var + 'bbb'

print(s)
# aaaxxxbbb

È necessario l’operatore + per concatenare le variabili, anche se sono separate da una barra rovesciata ().

s = 'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa'
    + s_var
    + 'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb'

print(s)
# aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaxxxbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb

Vedere l’articolo seguente per i dettagli sulla concatenazione di stringhe.

Usa le parentesi

In Python, puoi interrompere liberamente la riga tra parentesi ((), {}, []). Usando questa regola, puoi scrivere una lunga stringa su più righe con parentesi anziché barre rovesciate.

Poiché {} viene utilizzato per set e [] viene utilizzato per list, utilizzare () per tale scopo. Nota che la tupla è creata da virgole, non da ().

Puoi scrivere come segue.

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

Se sono inclusi variabili, è necessario l’operatore +.

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

print(s)
# aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaxxxbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb