Data Science and Machine Learning Internship ...
- 22k Enrolled Learners
- Weekend/Weekday
- Live Class
Python is one of the most powerful programming languages available in the market today. Python also supports implementation of other programming languages within its ecosystem like Java, C as well as C++. Out of the many modules and functions that are available in Python ecosystem, one such that stands out among the rest is the isinstance in Python. Thus in this article we will speak in detail about the isinstance, its uses and the features it brings to the table.
Following pointers will be covered in this article,
The Python isinstance is used to check if the first object that is the argument is an instance or subclass of the classinfo class that is the second argument.
The syntax for the isinstance in Python is as follows.
isinstance(object, classinfo)
Let us see what parameters and return value does Isinstance in Python have,
Parameter
Now that you are aware of the syntax for isinstance, let us take a closer look at the parametre it takes into account.
Return Value
When the isinstance is used in a program, the return value depends on a number of conditions, as explained in the pointers below.
If in a particular situation, the classinfo is not a type or a tuple of types, then a typeerror exception is raised onto the screen of the user.
Examples
To understand the use of isinstance better, let us take a look at a few examples.
Example #1
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
Isinstance In Python: Example #2
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
Example #3
# Python code for isinstance() class Test: a = 5 TestInstance = Test() print(isinstance(TestInstance, Test)) print(isinstance(TestInstance, (list, tuple))) print(isinstance(TestInstance, (list, tuple, Test)))
Output
True
False
True
Let us continue with ‘Isinstance In Python’ article and and understand the use of Type method,
Similar to the isinstance, there is another in built-in method in Python which is used to check the type pf variable that is being used during runtime. If a single argument or object is passed through the type method, it returns the type of the object that is being used during runtime.
To understand this better, take a look at the example below.
# Python code type() with a single object parameter x = 5 s = "sampleoutput" y = [1,2,3] print(type(x)) print(type(s)) print(type(y))
Output
class ‘int’
class ‘str’
class ‘list’
Example #1.2
# Python code for type() with a name, # bases and dict parameter o1 = type('X', (object,), dict(a='Foo', b=12)) print(type(o1)) print(vars(o1)) class test: a = 'Foo' b = 12 o2 = type('Y', (test,), dict(a='Foo', b=12)) print(type(o2)) print(vars(o2))
Output
{‘b’: 12, ‘a’: ‘Foo’, ‘__dict__’: , ‘__doc__’: None, ‘__weakref__’: }
{‘b’: 12, ‘a’: ‘Foo’, ‘__doc__’: None}
Let us compare Type and Isinstance in Python,
Type and isinstance in Python serve two very different functions. Take a look at the pointers below to understand the difference between them better.
Example
#Python code to illustrate duck typing class User(object): def __init__(self, firstname): self.firstname = firstname @property def name(self): return self.firstname class Animal(object): pass class Fox(Animal): name = "Fox" class Bear(Animal): name = "Bear" # Use the .name attribute (or property) regardless of the type for a in [User("SampleOutput"), Fox(), Bear()]: print(a.name)
Output
SampleOutput
Fox
Bear
Another reason not to use the type method is the lack of inheritance. Take a look at the examples shared below to understand this better.
#python code to illustrate the lack of #support for inheritance in type() class MyDict(dict): """A normal dict, that is always created with an "initial" key""" def __init__(self): self["initial"] = "some data" d = MyDict() print(type(d) == dict) print(type(d) == MyDict) d = dict() print(type(d) == dict) print(type(d) == MyDict)
Output
False
True
True
False
So this it guys, this brings us to the end of this article. I hope you have understood Isinstance in Python and what it does.
To get in-depth knowledge on Python along with its various applications, you can enroll here for live online training with 24/7 support and lifetime access.
Got a question for us? Mention them in the comments section of this article and we will get back to you.
Course Name | Date | Details |
---|---|---|
Python Programming Certification Course | Class Starts on 30th November,2024 30th November SAT&SUN (Weekend Batch) | View Details |
Python Programming Certification Course | Class Starts on 28th December,2024 28th December SAT&SUN (Weekend Batch) | View Details |
edureka.co