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 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)))
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