Categories
Python Examples

Python Program to Differentiate Between type() and isinstance()


In this example, you will learn to differentiate between type() and isinstance().

Difference between type() and instance()

Let’s understand the difference between type() and instance() with the example code below.

class Polygon:
    def sides_no(self):
        pass

class Triangle(Polygon):
    def area(self):
        pass

obj_polygon = Polygon()
obj_triangle = Triangle()

print(type(obj_triangle) == Triangle)   	# true
print(type(obj_triangle) == Polygon)    	# false

print(isinstance(obj_polygon, Polygon)) 	# true
print(isinstance(obj_triangle, Polygon))	# true

Output

True
False
True
True

In the above example, we see that type() cannot distinguish whether an instance of a class is somehow related to the base class. In our case, although obj_triangle is an instance of child class Triangle, it is inherited from the base class Polygon. If you want to relate the object of a child class with the base class, you can achieve this with instance().


Source

Leave a Reply

Your email address will not be published. Required fields are marked *