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 tupleFalse
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:
TrueFalseTrue
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 = 5result = 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? True5 instance of list? False5 instance of int? True