У меня есть длинная строка кода, которую я хочу разбить на несколько строк. Что я использую и каков синтаксис?
Например, добавив кучу строк,
e = 'a' + 'b' + 'c' + 'd'
и иметь его в две строки, как это:
e = 'a' + 'b' +
'c' + 'd'
У меня есть длинная строка кода, которую я хочу разбить на несколько строк. Что я использую и каков синтаксис?
Например, добавив кучу строк,
e = 'a' + 'b' + 'c' + 'd'
и иметь его в две строки, как это:
e = 'a' + 'b' +
'c' + 'd'
Какая линия? Вы можете просто иметь аргументы на следующей строке без проблем:
a = dostuff(blahblah1, blahblah2, blahblah3, blahblah4, blahblah5,
blahblah6, blahblah7)
В противном случае вы можете сделать что-то вроде этого:
if a == True and \
b == False
Проверьте руководство по стилю для получения дополнительной информации.
Из вашей строки примера:
a = '1' + '2' + '3' + \
'4' + '5'
Или:
a = ('1' + '2' + '3' +
'4' + '5')
Обратите внимание, что руководство по стилю говорит, что использование неявного продолжения с круглыми скобками является предпочтительным, но в данном конкретном случае просто добавление круглых скобок вокруг вашего выражения, вероятно, является неправильным способом.
Из PEP 8 - Руководство по стилю для кода Python :
PEP8 теперь рекомендует противоположное соглашение (для взлома в бинарных операциях), используемое математиками и их издателями для улучшения читабельности.
Стиль взлома Дональда Кнута перед бинарным оператором выравнивает операторы по вертикали, тем самым уменьшая нагрузку на глаз при определении того, какие элементы добавляются и вычитаются.
Из PEP8: должен ли разрыв строки идти до или после двоичного оператора? :
[3]: The TeXBook Дональда Кнута, страницы 195 и 196
источник
The preferred way .. is by using Python's implied line continuation inside parentheses
это то же самое, что иby wrapping expressions in parentheses
. Я обновил примерОпасность в использовании обратной косой черты для завершения строки состоит в том, что если после обратной косой черты добавляется пробел (что, конечно, очень трудно увидеть), обратная косая черта больше не выполняет то, о чем вы думали.
Смотрите Python Idioms and Anti-Idioms (для Python 2 или Python 3 ) для получения дополнительной информации.
источник
set list listchars=trail:·
в vim. :)Поставьте
\
в конце своей строки или заключите заявление в скобки( .. )
. От IBM :или
источник
Вы можете разбивать строки между скобками и скобками. Кроме того, вы можете добавить символ обратной косой черты
\
в строку, чтобы явно разбить его:источник
источник
Возможно, это не Pythonic, но я обычно использую список с функцией join для написания длинной строки, например SQL-запросов:
источник
Взято из Руководства Автостопщика по Python ( продолжение строки ):
С учетом вышесказанного, вот пример, учитывающий множественный импорт (при превышении лимитов строк, определенных в PEP-8 ), также применяемый к строкам в целом:
источник
Если вы хотите разбить вашу строку из-за длинной литеральной строки, вы можете разбить эту строку на части:
будет заменен на
Вывод для обоих операторов печати:
a very long string
Обратите внимание на круглые скобки в влиянии.
Также обратите внимание, что разбиение буквенных строк на части позволяет использовать буквенный префикс только для частей строки:
источник
Используйте оператор продолжения строки, т.е. "\"
Примеры:
источник