Python isinstance()

The isinstance() function checks if the object (first argument) is an instance or subclass of classinfo class (second argument).

Example

numbers = [1, 2, 3, 4, 2, 5]

# check if numbers is instance of list result = isinstance(numbers, list)
print(result) # Output: True

isinstance() Syntax

The syntax of isinstance() is:

isinstance(object, classinfo)

isinstance() Parameters

isinstance() takes two parameters:

  • object - object to be checked
  • classinfo - class, type, or tuple of classes and types

isinstance Return Value

isinstance() returns:

  • True if the object is an instance or subclass of a class or any element of the tuple
  • False otherwise

If classinfo is not a type or tuple of types, a TypeError exception is raised.


Example 1: How isinstance() works?

class Foo:
  a = 5
  
fooInstance = Foo()

print(isinstance(fooInstance, Foo))
print(isinstance(fooInstance, (list, tuple))) print(isinstance(fooInstance, (list, tuple, Foo)))

Output

True
False
True

Example 2: Working of isinstance() with Native Types

numbers = [1, 2, 3]

result = isinstance(numbers, list)
print(numbers,'instance of list?', result) result = isinstance(numbers, dict) print(numbers,'instance of dict?', result) result = isinstance(numbers, (dict, list)) print(numbers,'instance of dict or list?', result) number = 5
result = isinstance(number, list)
print(number,'instance of list?', result) result = isinstance(number, int) print(number,'instance of int?', result)

Output

[1, 2, 3] instance of list? True
[1, 2, 3] instance of dict? False
[1, 2, 3] instance of dict or list? True
5 instance of list? False
5 instance of int? True
Did you find this article helpful?