Duck Typing in Python
- Duck typing is the “type” of the object is a matter of concern only at runtime and you don’t require mentioning the type of the object before you execute any kind of operation on that object.
- Parts of the standard library in python suppose to use I/O like objects with read or write methods, yet you will pass anything that executes these, without having to inherit from anything.
- There is another idea in typing lark which is a characteristics of dynamic languages. This is known as duck typing.
- Example, in a statically typed language we have a concept of including. A few types of object can be included – typically only to objects of the similar type. Although most languages will let you a chance to add an integer to a floating point number – resulting in a floating point number. Attempt to include different types of objects together and the compiler will tell you that you’re not permitted.
- In Python we have to permit the object to describe what it to be included. The expression 4 + 4 is syntactic sugar for calling the __add__ method of the integer type. It is similar as calling int.__add__(4, 4). It means that if you define a __add__ method for one of your classes you will make all sorts of things happen when you include instances of them together.
- Many of Python syntax is sugar for underlying methods especially in data access. Accessing members of sequence type objects as well as mapping type objects is complete by using the __getitem__ method of these objects.
- The above code is exactly the same as :