pylint-errors

C0123 (unidiomatic-typecheck)

:x: Problematic code:

foo = [1, 2, 3]
if type(foo) is list:
    pass

:heavy_check_mark: Correct code:

foo = [1, 2, 3]
if isinstance(foo, list):
    pass

Rationale:

Using type() instead of isinstance() for a typecheck. The idiomatic way to perform an explicit typecheck in Python is to use isinstance(x, y) rather than type(x) == Y, type(x) is Y. Though there are unusual situations where these give different results.