repeated-isinstance-calls (PLR1701)
Removed (since 0.5.0) · Related issues · View source
Derived from the Pylint linter.
Warning: This rule has been removed and its documentation is only available for historical reasons.
Fix is always available.
Removed
This rule is identical to SIM101 which should be used instead.
What it does
Checks for repeated isinstance calls on the same object.
Why is this bad?
Repeated isinstance calls on the same object can be merged into a
single call.
Fix safety
This rule's fix is marked as unsafe on Python 3.10 and later, as combining
multiple isinstance calls with a binary operator (|) will fail at
runtime if any of the operands are themselves tuples.
For example, given TYPES = (dict, list), then
isinstance(None, TYPES | set | float) will raise a TypeError at runtime,
while isinstance(None, set | float) will not.
Example
Use instead:
Or, for Python 3.10 and later: