Using language protocols in classes
All objects that provide a specific functionality have certain methods that facilitate that behavior, for example, you can create an object of type worker and expect it to have the submit_work(function, kwargs)
, and is _completed()
methods. Now, we can expect all objects that have these methods to be usable as workers in any application portion. Similarly, the Python language has defined some methods that are needed to add a certain functionality to an object. If an object possesses these methods, it has that functionality.
We will discuss two very import protocols: iteration protocol, and context protocol.
Iteration protocol
For iteration protocol, objects must possess the __iter__
method. If the object possesses it, we can use the object anywhere that we use an iterator object. When we are using the iterator object in a for
loop or passing it to the iter
built-in function, we are calling its __iter__
method. This method returns another or the same object...