Python продолжение строки кода

Как сделать переход на следующую строку в Python

Чтобы написать продолжение на следующей строке без фактического разрыва строки в Python, используйте либо подразумеваемое продолжение строки внутри круглых скобок ( brackets ), либо явный разрыв строки (/).

Согласно официальному стилю, в руководстве PEP8 рекомендуется переход строки внутри круглых скобок. Тем не менее, я советую использовать его в соответствии с вашими требованиями, потому что иногда метод скобок не рекомендуется.

Продолжение на следующей строке в Python

Чтобы написать продолжение на следующей строке в Python, используйте подразумеваемое продолжение строки внутри круглых и фигурных скобок. Вы также можете использовать явный разрыв строки( / ) для разрыва строки, потому что это всегда хорошая практика, поскольку вы явно указываете компилятору, что здесь не следует разрывать строку.

Синтаксис

Если вы используете круглые скобки, используйте следующий синтаксис.

Как написать «Продолжить на следующей строке» в Python

Пример

Давайте возьмем пример, основанный на синтаксисе.

Мы будем использовать явный оператор(/), чтобы сделать перенос на следующую строку.

Вы можете видеть, что если условие разделено между двумя строками, используя /явный идентификатор.

У обратной косой черты есть свои варианты использования, и они уместны во многих случаях. Например, длинные, множественные операторы with не могут использовать неявное продолжение, поэтому допустима обратная косая черта.

Недостатком использования обратной косой черты в конце строки является то, что если после обратной косой черты добавляется пробел (что, конечно, очень трудно увидеть), обратная косая черта больше не делает то, что вы думали.

Две или более физических строк могут быть объединены в логические строки с помощью символов обратной косой черты(\) следующим образом: когда физическая строка заканчивается обратной косой чертой, которая не является частью строкового литерала или комментария, она объединяется с образованием одной логической строки, удалив обратную косую черту и следующий символ конца строки.

Источник

Перенос строк кода Python

Подписывайтесь на мой канал в Телеграм @pyway , чтобы быть в курсе о новых статьях!

PEP-8 не рекомендует писать строки кода длиннее, чем 79 символов. С этим можно не согласиться, однако, встречаются строки, которые не влезают даже на наши широкоформатные мониторы.

👨‍🎓 Старайтесь не делать очень длинные строки, разбивая сложные условия или формулы на отдельные части, вынося их в переменные или функции с осмысленными названиями.

Если есть острая необходимость иметь длинное выражение, тогда приходится переносить код на следующие строки. Можно делать двумя способами: скобками и слэшем.

Если, перед выражением открыта скобка (круглая, квадратная или фигурная в зависимости от контекста), но она не закрыта в этой строке, то Python будет сканировать последующие строки, пока не найдет соответствующую закрывающую скобку (англ. implicit line joining). Примеры:

# вычисления income = (gross_wages + taxable_interest + (dividends - qualified_dividends) - ira_deduction - student_loan_interest) if (student_loan_interest > ira_deduction and qualified_dividends == 0): . # словари d = < "hello": 10, "world": 20, "abc": "foo" ># аргументы функции some_func(arg1, arg2, more_arg, so_on_and_on)

Обратите внимание, что в первом примере скобки очень важны. Без скобок код не скомпилируется из-за отступов, а если их убрать, то результат будет неверен: income станет gross_wages, а последующие строки не будут иметь эффекта!

# неправильно! income = gross_wages + taxable_interest + (dividends - qualified_dividends) - ira_deduction - student_loan_interest

Метод переноса обратным слэшем. Ставим обратный слэш конце строки и сразу энтер (перенос строки): тогда следующая строка будет включена в текущую (англ. explicit line joining), не взирая на отступы, как будто бы они написаны в одну строку:

income = gross_wages \ + taxable_interest \ + (dividends - qualified_dividends) \ - ira_deduction \ - student_loan_interest
if student_loan_interest > ira_deduction \ and qualified_dividends == 0: . # допустимо, согласно PEP-8 with open('/path/to/some/file/you/want/to/read') as file_1, \ open('/path/to/some/file/being/written', 'w') as file_2: file_2.write(file_1.read()) # пробелы в строку попадут, а энтер - нет! str = "Фу\ < вот эти пробелы тоже в строке"

Почему скобки лучше для переноса:

  • Лучше восприятие
  • Скобок две, а слэшей надо по одному на каждый перенос
  • Можно забыть слэш и сломать код
  • Можно поставить пробел после слэша и тоже сломать

🐉 Специально для канала @pyway. Подписывайтесь на мой канал в Телеграм @pyway 👈

Источник

Перенос длинного кода на новую строку Python

Изображение баннера

Если строка превышает 80 символов в длину - по PEP 8 её нужно разделить на несколько.

Пример

Пример слишком длинной строки

url = your_base_url + "/monitor-service/api/v1/components/744618a0-78c5-4e19-78f4-6d215bde64a5"

Чтобы сделать перенос строки - воспользуйтесь символом \

url = your_base_url + \ "/monitor-service/api/v1/components/744618a0-78c5-4e19-78f4-6d215bde64a5"

url = your_base_url + "/monitor-service/api/v1/components/" \ "744618a0-78c5-4e19-78f4-6d215bde64a5"

f-string

Если нужно перенести f-string , например:

print ( f' \n\n POST to < your_url >response status code is < response.status_code >\n ' )

Новую строку тоже нужно начать с f

print ( f' \n\n POST to < your_url >response status code is ' f' < response.status_code >\n ' )

Перенос при присваивании

Если нужно перенести выражение вида a = b, где b это что-то длинное:

# Правильно: # Выравнивание по открывающей скобке. foo = long_function_name(var_one, var_two, var_three, var_four) # Второй вариант так называемый "Подвешенный" отступ. foo = long_function_name ( var_one, var_two, var_three, var_four ) # Если поставить запятую в конце - закрывающую скобку можно. # поместить под первым непустым символом. result = some_function_that_takes_arguments ( 'a' , 'b' , 'c' , 'd' , 'e' , 'f' , ) # Либо в начало строки. result = some_function_that_takes_arguments ( 'a' , 'b' , 'c' , 'd' , 'e' , 'f' , ) # Неправильно: # Запрещено перечислять аргументы в первой строке # если следующая не выровнена. foo = long_function_name(var_one, var_two, var_three, var_four)

Объявление функций

Если нужно объявить функцию с большим числом параметров:

# Правильно: # Нужно отступить на 4 пробела, чтобы выделить параметры. def long_function_name ( var_one, var_two, var_three, var_four): print (var_one) # Неправильно # Параметры не выделяются и читать неудобно def long_function_name ( var_one, var_two, var_three, var_four): print (var_one)

if

Ветвления на основе if разрешено оформлять следующими способами:

# Без отступа. if (this_is_one_thing and that_is_another_thing): do_something() # Хороший приём - добавить комментарий, который улучшит читаемость # в редакторах с подсветкой синтаксиса. if (this_is_one_thing and that_is_another_thing): # Since both conditions are true, we can frobnicate. do_something() # Разрешено добавить отступ перед and. if (this_is_one_thing and that_is_another_thing): do_something()

Объявление списков

Списки можно объявлять двумя способами:

my_list = [ 1 , 2 , 3 , 4 , 5 , 6 , ] my_list = [ 1 , 2 , 3 , 4 , 5 , 6 , ]

Источник

Читайте также:  What is java sound api
Оцените статью