跳到内容

重复 isinstance 调用 (SIM101)

源自 flake8-simplify 代码检查器。

有时提供修复。

作用

检查对同一目标进行的多个 isinstance 调用。

为什么这不好?

要检查对象是否是多个类型或类中的任何一个的实例,不需要使用多个 isinstance 调用,因为 isinstance 内置函数的第二个参数接受类型和类的元组。

使用单个 isinstance 调用可以实现相同的行为,代码更简洁,意图更清晰。

示例

if isinstance(obj, int) or isinstance(obj, float):
    pass

建议改为

if isinstance(obj, (int, float)):
    pass

参考