跳到内容

bad-staticmethod-argument (PLW0211)

源自 Pylint 代码检查工具。

作用

检查静态方法是否使用了 selfcls 作为第一个参数。此规则也适用于隐式静态方法 __new__

为什么这不好?

PEP 8 建议将 selfcls 分别用作实例方法和类方法的第一个参数。将静态方法的第一个参数命名为 selfcls 可能会产生误导,因为静态方法不会将实例或类引用作为其第一个参数接收。

示例

class Wolf:
    @staticmethod
    def eat(self):
        pass

建议改为

class Wolf:
    @staticmethod
    def eat(sheep):
        pass