类方法无效的第一个参数名 (N804)
源自 pep8-naming linter。
有时提供修复。
作用
检查类方法是否使用了除 cls 之外的名称作为其第一个参数。
__new__ 方法不在此检查范围内,相应的违规行为会被 bad-staticmethod-argument 捕获。
为什么这不好?
PEP 8 建议使用 cls 作为所有类方法的第一个参数
始终对类方法的第一个参数使用
cls。如果函数参数的名称与保留关键字冲突,通常最好附加一个尾随下划线,而不是使用缩写或拼写错误。 因此,
class_比clss更好。(也许更好的方法是使用同义词来避免这种冲突。)
可以使用 lint.pep8-naming.ignore-names 或 lint.pep8-naming.extend-ignore-names 配置选项从此规则中排除名称。 例如,要允许使用 klass 作为类方法的第一个参数,请将 lint.pep8-naming.extend-ignore-names 选项设置为 ["klass"]。
示例
建议改为
修复安全性
此规则的修复被标记为不安全,因为重命名方法参数可能会更改程序的行为。