What are MAGIC methods in Python?
In Python, magic methods are the special methods having two prefix and suffix underscores in the method name. It is also called ‘Dunder’ i.e. Double underscores.
Magic method invokes different action internally so that user does not have to perform the task manually.
To see the magic methods for a given
object we have to use the dir()
function available on python. It uses
object as parameters inside it but if no parameter is used then it returns
the names in local scope.
Listing Magic Methods Using dir
print(dir(list))
Output of the following program is:
['__add__', '__class__', '__contains__', '__delattr__', '__delitem__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__getitem__', '__gt__', '__hash__', '__iadd__', '__imul__', '__init__', '__init_subclass__', '__iter__', '__le__', '__len__', '__lt__', '__mul__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__reversed__', '__rmul__', '__setattr__', '__setitem__', '__sizeof__', '__str__', '__subclasshook__', 'append', 'clear', 'copy', 'count', 'extend', 'index', 'insert', 'pop', 'remove', 'reverse', 'sort']
All the methods starting with __
(double underscores) and ending with __
(double underscores) in the above program are magic methods in Python. For example: __add__
, __init__
, __lt__
etc.