在不抑制和操纵 pylint 设置的情况下控制 "too many local variable in a function" 的最佳做法是什么?
what is best practice to control "too many local variable in a function" without suppress and manipulate pylint settings?
我正在努力确保 python 代码文件在常规 pylint 和 pycodestyle 中的得分必须为 10/10。但是,我在函数中从 "too many local variable" 中得到了很大的改变。由于整个套件的时间问题,功能可能会分开。请提出一些最佳实践或建议。
提前致谢!!
您提供的信息太少。也就是说,这里有一些基本的想法:
将一些变量分解成嵌套函数。当您有一个长函数并且某些部分只是产生一个中间结果时,这是有意义的。
使用 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 个活动部件,那么试图解决一个更简单的问题。
祝你好运!继续编码!做笔记。
我正在努力确保 python 代码文件在常规 pylint 和 pycodestyle 中的得分必须为 10/10。但是,我在函数中从 "too many local variable" 中得到了很大的改变。由于整个套件的时间问题,功能可能会分开。请提出一些最佳实践或建议。
提前致谢!!
您提供的信息太少。也就是说,这里有一些基本的想法:
将一些变量分解成嵌套函数。当您有一个长函数并且某些部分只是产生一个中间结果时,这是有意义的。
使用 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 个活动部件,那么试图解决一个更简单的问题。
祝你好运!继续编码!做笔记。