Skip to content

type-comparison (E721)#

Derived from the pycodestyle linter.

What it does#

Checks for object type comparisons using == and other comparison operators.

Why is this bad?#

Unlike a direct type comparison, isinstance will also check if an object is an instance of a class or a subclass thereof.

If you want to check for an exact type match, use is or is not.

Example#

if type(obj) == type(1):
    pass

if type(obj) == int:
    pass

Use instead:

if isinstance(obj, int):
    pass