Правильный способ назначения переменных в функции класса, чтобы избежать ошибки PEP E501 в Python

Я вызываю функцию из объекта класса, например:

class_name.function(
    var1=1,
    var2=10,
    this_is_a_long_variable_name=this_is_another_long_variable,
    var4=15
)

Если я сделаю это в третьей строке, я получу ошибку PEP 8 E501: слишком длинная строка. Если я изменю приведенный выше код на следующее:

class_name.function(
    var1=1,
    var2=10,
    this_is_a_long_variable_name=\
        this_is_another_long_variable,
    var4=15
)

Я получаю за третью строчку this_is_a_long_variable_name=\ PEP 8 ошибка E502. Обратная косая черта является избыточной между скобками и ошибкой PEP 8 E251 неожиданные пробелы вокруг ключевого слова. За четвертую строчку this_is_another_long_variable, Я получаю PEP 8, ошибка E131, строка продолжения не выровнена для висящего отступа.

Как правильно вызывать объектную функцию, чтобы избежать вышеупомянутых ошибок?

1 ответ

Вы можете добавить некоторую форму строки «Нет гарантии качества» в конец затронутой строки:

# noqa: игнорировать все предупреждения
# noqa: E251: игнорировать только предупреждение о "непредвиденных пробелах"
# noqa: E501: игнорировать только предупреждение "Слишком длинная строка"

Это не очень элегантно, но большинство инструментов анализа должны игнорировать это предупреждение. Перед#. Как это:

      class_name.function(
var1=1,
var2=10,
this_is_a_long_variable_name=  # noqa: E251
    this_is_another_long_variable,
var4=15
)

Я знаю, что этот вопрос висит уже несколько лет. Мне все еще было бы интересно, если кто-нибудь может придумать лучшее решение.

Другие вопросы по тегам