13

我正在努力确保使用常规 pylint 和 pycodestyle 的 python 代码文件必须是 10/10 分数。但是,我从函数中的“太多局部变量”中得到了艰难的改变。由于整个套件的时间问题,功能可能会拆分。请提出一些最佳实践或建议。

提前致谢!!

4

1 回答 1

14

您提供的信息太少。也就是说,这里有一些基本的想法:

  • 将一些变量分解成一个嵌套函数。当您有一个长函数并且某些部分只是产生中间结果时,这是有道理的。

  • 使用 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
  • 对局部变量组使用字典。
  • 多想想。如果你有一个无法分解的问题并且有 20 个活动部件,那么有一个更简单的问题试图解决。

祝你好运!继续编码!记笔记。

于 2019-11-19T05:16:43.230 回答