Jeśli używasz programu do sprawdzania kodu zgodnego z PEP8, takiego jak flake8 w Pythonie, otrzymasz następujący błąd, gdy linia przekroczy 80 znaków.E501 line too long
Pokażę Ci, jak rozbić długi ciąg powyżej 80 znaków, taki jak adres URL, na wiele linii kodu.
- Ignoruj podziały wiersza za pomocą odwrotnych ukośników (\)
- Przerwy między wierszami mogą być dowolnie ujęte w nawiasy
Moduł textwrap jest również przydatny, jeśli chcesz wyświetlać długie ciągi znaków poprzez ich zawijanie lub skracanie.
Jeśli liczba znaków w linii jest dłuższa w łańcuchu metod niż w długim łańcuchu, linia może być również złamana w kodzie.
Ignoruj podziały wiersza za pomocą odwrotnych ukośników (\)
W Pythonie odwrotny ukośnik (\) jest znakiem kontynuacji, a umieszczony na końcu linii ignoruje kolejne podziały linii i zakłada, że linia jest kontynuowana.
n = 1 + 2 \
+ 3
print(n)
# 6
Również, gdy wiele literałów łańcuchowych jest zapisanych po sobie, są one konkatenowane w celu utworzenia pojedynczego łańcucha, jak pokazano poniżej.
s = 'aaa' 'bbb'
print(s)
# aaabbb
Łącząc te dwie metody, długi ciąg znaków może być napisany w wielu liniach kodu, jak pokazano poniżej.
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
Zauważ, że tylko literały łańcuchowe (ujęte w ' lub „”) mogą być konkatenowane, a zmienne zawierające łańcuchy spowodują błąd.
s_var = 'xxx'
# s = 'aaa' s_var 'bbb'
# SyntaxError: invalid syntax
Do konkatenacji zmiennych ze sobą lub zmiennych z literałami łańcuchowymi służy operator +.
s = 'aaa' + s_var + 'bbb'
print(s)
# aaaxxxbbb
Nawet jeśli zmienne są oddzielone odwrotnym ukośnikiem (\), operator + jest wymagany do łączenia zmiennych.
s = 'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa'\
+ s_var\
+ 'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb'
print(s)
# aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaxxxbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
Przerwy między wierszami mogą być dowolnie ujęte w nawiasy
W Pythonie można dowolnie łamać linie wewnątrz kolejnych nawiasów. Możesz użyć tej reguły do zamknięcia w nawiasach długich łańcuchów tekstu.
()
{}
[]
Zauważ, że niektóre nawiasy są używane w inny sposób, jak pokazano poniżej, więc użyj nawiasów okrągłych () dla takiego użycia.
{}
Zestaw: Zestaw[]
: Lista
Ponownie, wykorzystując fakt, że wiele łańcuchów może być konkatenowanych razem, aby utworzyć pojedynczy łańcuch, możemy napisać następującą instrukcję
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
Podobnie jak w przykładzie z odwrotnym ukośnikiem, operator + jest wymagany, gdy dołączane są zmienne.
s = ('aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa'
+ s_var
+ 'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb')
print(s)
# aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaxxxbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb