Python 3 reference · Built-in Functions

Python isinstance() Function

Return True if an object is an instance of a class, one of its subclasses, or any class in a tuple or union of classes.

Python 3 Since 3.0

Syntax

isinstance(object, classinfo)

Parameters

ParameterDescription
object The value to check.
classinfo A class, a tuple of classes, or a union such as int | float.

Return value

True or False.

Examples

Check typesTry it yourself
print(isinstance(5, int), isinstance(5.0, int))
print(isinstance(5.0, (int, float)))
print(isinstance(5.0, int | float))

Output

True False
True
True
Subclasses countTry it yourself
print(isinstance(True, int))  # bool is a subclass of int
print(type(True) is int)

Output

True
False
Accept several input typesTry it yourself
def total(value):
    if isinstance(value, (list, tuple)):
        return sum(value)
    return value

print(total([1, 2, 3]), total(10))

Output

6 10

isinstance() vs type()

Prefer isinstance(x, cls): it accepts subclasses. type(x) is cls only matches the exact class.

Version history

VersionChange
Python 3.0Added
Python 3.10classinfo can be a union type such as int | str.