In Python, the isinstance() function is used to determine whether an object is an instance of a specified class or type.
Function Syntax
isinstance(object, classinfo)
Parameters:
object: The object to check.classinfo: A class, type, or tuple of types.
Returns True if object is an instance of classinfo or an instance of its subclass, otherwise returns False.
isinstance() Function Examples
# Check if an integer is an instance of int type
num = 123
result = isinstance(num, int)
print(result) # Output: True
# Check if a string is an instance of str type
str_value = "hello world"
result = isinstance(str_value, str)
print(result) # Output: True
# Check if a list is an instance of list type
list_value = [1, 2, 3]
result = isinstance(list_value, list)
print(result) # Output: True
Check against multiple types:
value = 123.456
print(isinstance(value, (int, float))) # True
print(isinstance(value, (str, list))) # False
data = ["a", "b"]
print(isinstance(data, (list, tuple))) # True
Check class inheritance relationships:
class Animal:
pass
class Dog(Animal): # Dog inherits from Animal
pass
class Cat(Animal): # Cat inherits from Animal
pass
dog = Dog()
print(isinstance(dog, Dog)) # True
print(isinstance(dog, Animal)) # True (parent class)
print(isinstance(dog, Cat)) # False
animal = Animal()
print(isinstance(animal, Dog)) # False (cannot check upward)
Difference from type():
class Animal:
pass
class Dog(Animal):
pass
dog = Dog()
# type() strict type checking
print(type(dog) == Dog) # True
print(type(dog) == Animal) # False (exact match)
# isinstance() considers inheritance
print(isinstance(dog, Dog)) # True
print(isinstance(dog, Animal)) # True (includes parent class)