What are the differences between type() and isinstance()?
In Python, type() is a built-in function that returns the type of an object, while isinstance() is a function that checks whether an object is an instance of a particular class or of a subclass thereof.
Here's an example of how to use these functions:
x = 5
print(type(x)) # Output: <class 'int'>
print(isinstance(x, int)) # Output: TrueThe type() function returns the type of the object as a type object (for example, int, float, str, etc.). On the other hand, isinstance() checks the object's type and returns True if it is an instance of the specified class or a subclass thereof, and False otherwise.
For example:
class MyClass:
pass
x = MyClass()
print(type(x)) # Output: <class '__main__.MyClass'>
print(isinstance(x, MyClass)) # Output: TrueIn this case, type(x) returns the type of x as MyClass, while isinstance(x, MyClass) returns True because x is an instance of the MyClass class.
One important thing to note is that type() only works for objects of type type or str, while isinstance() works for any object.
I hope this helps! Let me know if you have any questions.