Перенос длинного кода на новую строку 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')
Перенос при присваивании
Если нужно перенести выражение вида 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, ]