跳到内容

unsupported-method-call-on-all (PYI056)(不支持在 __all__ 上调用方法)

源自 flake8-pyi 代码检查器。

作用

检查是否在 __all__ 上调用了 appendextendremove 方法。

为什么这不好?

不同的类型检查器对在 __all__ 上调用这些方法的支持程度各不相同。应使用 += 运算符将项目添加到 __all__,所有主要的类型检查器都知道支持这种方法。

示例

import sys

__all__ = ["A", "B"]

if sys.version_info >= (3, 10):
    __all__.append("C")

if sys.version_info >= (3, 11):
    __all__.remove("B")

建议改为

import sys

__all__ = ["A"]

if sys.version_info < (3, 11):
    __all__ += ["B"]

if sys.version_info >= (3, 10):
    __all__ += ["C"]