24

I'm working to make sure python code files must be 10/10 score with regular pylint and pycodestyle. but, I'm getting hard change from "too many local variable" in the functions. The functions could to split due to timing issue of whole suite. please suggest some best practice or suggestions.

Thanks in advance!!

Jatinder Singh Brar
  • 421
  • 1
  • 5
  • 11

1 Answers1

16

You are providing too little information. That said, here are some basic ideas:

  • Break out some variables into a nested function. This makes sense when you have a long function and some sections are simply producing an intermediate result.

  • Use a NamedTuple. This makes sense when you are breaking up some array into individual flags, such as database rows or pin signals.

For example:

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
  • Use dictionaries for groups of local variables.
  • Think harder. If you have a problem that cannot be broken down and has twenty moving parts, then there is a simpler problem trying to get out.

Good luck! Keep coding! Keep notes.

Charles Merriam
  • 19,908
  • 6
  • 73
  • 83