Python’s issubclass() Function

Learn Python @ Freshers.in

Python’s issubclass() function is a powerful tool for checking class inheritance relationships. In this comprehensive guide, we’ll delve into the intricacies of issubclass(), covering its syntax, applications, and practical examples to help you grasp this fundamental concept in Python programming.

Understanding issubclass() Function:

The issubclass() function in Python is used to check whether a class is a subclass of another class. Its syntax is as follows:

issubclass(class, classinfo)
  • class: The class that you want to check.
  • classinfo: A class or a tuple of classes to check against.

Example 1: Basic Usage

Let’s start with a simple example:

class A:
    pass

class B(A):
    pass

print(issubclass(B, A))  # Output: True

Here, we define two classes, A and B, where B inherits from A. The issubclass() function checks if B is a subclass of A, which it is, so the output is True.

Example 2: Checking Against Multiple Classes

You can also pass a tuple of classes to check if a class is a subclass of any of them:

class C:
    pass

class D:
    pass

class E(C):
    pass

print(issubclass(E, (C, D)))  # Output: True

In this case, class E is a subclass of class C, so the output is True.

Example 3: Inheriting from Built-in Classes

issubclass() works with built-in classes as well:

print(issubclass(int, object))  # Output: True

Here, int is a subclass of the object class, so the output is True.

Example 4: Handling Abstract Base Classes (ABCs)

issubclass() is commonly used with abstract base classes:

from abc import ABC, abstractmethod
class Shape(ABC):
    @abstractmethod
    def area(self):
        pass

class Rectangle(Shape):
    def area(self):
        return 10

print(issubclass(Rectangle, Shape))  # Output: True
from abc import ABC, abstractmethod
class Shape(ABC):
    @abstractmethod
    def area(self):
        pass
class Rectangle(Shape):
    def area(self):
        return 10
print(issubclass(Rectangle, Shape))  # Output: True

In this example, Rectangle is a subclass of Shape, an abstract base class defining a method area(). issubclass() confirms this relationship.

Author: user