self-or-cls-assignment (PLW0642)
源自 Pylint 代码检查工具。
作用
检查实例方法和类方法中对 self
和 cls
的赋值。
此检查也适用于 __new__
,即使这在技术上是一个静态方法。
为什么这不好?
在 Python 中,标识符 self
和 cls
分别是实例方法和类方法的第一个参数的约定。为这些变量分配新值可能会让阅读您代码的其他人感到困惑;使用不同的变量名可以使代码更清晰。
示例
class Version:
def add(self, other):
self = self + other
return self
@classmethod
def superclass(cls):
cls = cls.__mro__[-1]
return cls
建议改为