Как лучше всего контролировать "слишком много локальных переменных в функции" без подавления и изменения настроек pylint?

Я работаю над тем, чтобы файлы кода Python имели оценку 10/10 с обычным pylint и pycodestyle. но я получаю серьезные изменения от "слишком много локальных переменных" в функциях. Функции могут быть разделены из-за временной проблемы всего пакета. пожалуйста, предложите передовой опыт или предложения.

Заранее спасибо!!

1 ответ

Решение

Вы предоставляете слишком мало информации. Тем не менее, вот несколько основных идей:

  • Разбейте некоторые переменные на вложенную функцию. Это имеет смысл, когда у вас длинная функция, а некоторые разделы просто производят промежуточный результат.

  • Используйте NamedTuple. Это имеет смысл, когда вы разбиваете массив на отдельные флаги, такие как строки базы данных или сигналы контактов.

Например:

from collections import namedtuple
Record = namedtuple('Record', 'course name id midterm1 midterm2 homework')
input_array_line = ['botony', 'chad', '123456', 88.0, 92.2, 40]
r = Record(*input_array_line)
score = (r.midterm1 + r.midterm2) * .45 + (r.homework/40.0) * 10.0
  • Используйте словари для групп локальных переменных.
  • Думай усерднее. Если у вас есть проблема, которая не может быть сломана и состоит из двадцати движущихся частей, то есть более простая проблема, пытаясь решить ее.

Удачи! Продолжайте кодировать! Ведите записи.

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