跳到内容

invalid-index-return-type (PLE0305)

源自 Pylint 代码检查工具。

作用

检查 __index__ 实现返回非整数值的情况。

为什么这不好?

__index__ 方法应该返回一个整数。返回不同的类型可能会导致意外的行为。

注意:boolint 的一个子类,所以在技术上 __index__ 返回 TrueFalse 是有效的。然而,针对这种情况已经引入了一个 DeprecationWarning (DeprecationWarning: __index__ returned non-int (type bool)),因此这是原始 pylint 规则和当前 ruff 实现之间的一个有意识的区别。

示例

class Foo:
    def __index__(self):
        return "2"

建议改为

class Foo:
    def __index__(self):
        return 2

参考