The isinstance() function checks if the object (first argument) is an instance or subclass of classinfo class (second argument).
The syntax of isinstance() is:
isinstance(object, classinfo)
isinstance() Parameters
The isinstance() takes two parameters:
-
object -
object
to be checked - classinfo - class, type, or tuple of classes and types
Return Value from isinstance()
The 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)))
When you run the program, the output will be:
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)
When you run the program, the output will be:
[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