Перенос длинного кода на новую строку Python
Введение | |
Пример | |
Перенос f-string | |
Перенос при присваивании | |
Объявление функции | |
if | |
Объявление списка | |
Перенос при импорте | |
Похожие статьи |
Введение
Если строка превышает 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\nPOST to {your_url} response status code is {response.status_code}\n')
Новую строку тоже нужно начать с f
print(f'\n\nPOST to {your_url} response status code is ' f'{response.status_code}\n')
Если после переноса оказывается, что в какой-то строке не осталось переменных - у неё не нужно писать f
url: str = "https://testsetup.ru" print("Адрес моего сайта о тестировании ПО:" f"{url} содержит https," "переходите по ссылке.")
Если длинная f-string используется при объвлении переменной - при переносе нужно взять её в скобки
current_time = time.strftime("%Y-%m-%d-%H-%M-%S") epoch_time = int(time.time()) url = "https://testsetup.ru" message = (f"В данный момент: {current_time}" f"linux epoch time: {epoch_time}" f"{url} содержит https, переходите по ссылке")
Перенос при присваивании
Если нужно перенести выражение вида 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, ]
Перенос при импорте
Если нужно делать перенос при импорте модулей, нужно заключить названия модулей в скобки
from devhopspac import (first_long_function_name, second_long_function_name)
C | |
C++ | |
Go | |
Groovy | |
Java | |
JavaScript | |
PHP | |
Python | |
Ruby | |
.NET/C# | |
Thrift | |
Теория Программирования | |
f-string |