Как сделать так, чтобы преттификатор autopep8
и линтер pylint
согласовывали порядок отступов в моем коде, не отключая при этом форматирование отступов/линтинг в целом? Мне все равно, первое это или второе форматирование, пока я могу нажать Alt+F
в VSCode и доверять выводу.
Prettifier хочет, чтобы код был с таким отступом...
# autopep8 prettifier
def sum(
a: int,
b: int
) -> int:
"""Return the sum of a and b."""
return a + b
... но линтер хочет именно так.
# pylint linter
def sum(
a: int,
b: int
) -> int:
"""Return the sum of a and b."""
return a + b
Стандарт PEP8 перечисляет это как способ форматирования функции, но не упоминает, как сделать отступ, когда закрывающая скобка помещается в отдельную строку. Я действительно предпочитаю иметь дополнительный разрыв строки, потому что это помещает формат вывода в отдельную строку, это уменьшает желание иметь пустую строку в качестве первой строки в теле функции. Я немного предпочитаю первый вариант выше, так как он выравнивает закрывающую скобку со строкой, которая должна открыть ее. Руководство по стилю Python от Google рекомендует первый пример отступа при использовании подсказок типа.
# PEP8 standard
def sum(
a: int,
b: int) -> int:
"""Return the sum of a and b."""
return a + b
(Для приведенного выше примера было бы лучше просто поместить объявление функции в одну строку, но это не всегда возможно, не делая строку слишком длинной.)