PEP-8 позволяет оба; см. последний раздел обсуждения отступа . Однако он также рекомендует без пробелов вокруг =
в аргументах ключевого слова и не требует такого большого отступа для параметров. Отступ должен совпадать, но если первый параметр находится в новой строке, он не должен иметь отступ после открытия (
.
Либо
def foo(
long_parameter_name_1, long_parameter_name_2="default value var 2",
long_parameter_name_3="default value var 3", long_parameter_name_4="default value var 4"
):
, или
def foo(
long_parameter_name_1, long_parameter_name_2="default value var 2",
long_parameter_name_3="default value var 3", long_parameter_name_4="default value var 4"):
приемлемо.
Я бы сделал go на один шаг дальше и рекомендовал бы в любом случае ограничить себя одним параметром на строку.
def foo(
long_parameter_name_1,
long_parameter_name_2="default value var 2",
long_parameter_name_3="default value var 3",
long_parameter_name_4="default value var 4"
):
или
def foo(
long_parameter_name_1,
long_parameter_name_2="default value var 2",
long_parameter_name_3="default value var 3",
long_parameter_name_4="default value var 4"):
, но с предпочтением первого. (В первом случае вы также можете wi sh, чтобы включить необязательный завершающий ,
после последнего аргумента, чтобы упростить различия, если вы никогда не добавляете или не удаляете параметр.)