类方法无效的第一个参数名 (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"]
。
示例
建议改为
修复安全性
此规则的修复被标记为不安全,因为重命名方法参数可能会更改程序的行为。