

Generally, special methods are used to mimic certain behavior. For example, if you want to use the x[key] indexing operation for your class (just like you use for lists and tuples) then just implement the __getitem__() method and your job is done. If you think about it, this is what Python does for the list class itself!
Some useful special methods are listed in the following table. If you want to know about all the special methods, then a huge list is available in the Python Reference Manual.__init__(self, ...)
__del__(self) __str__(self)
__lt__(self, other)
__getitem__(self, key) __len__(self)
Explanation
This method is called just before the newly created object is returned for usage.
Called just before the object is destroyed
Called when we use theprint statement with the object or whenstr() is used.
Called when the less than operator ( < ) is used. Similarly, there are special methods for all the operators (+, >, etc.)
Called whenx[key] indexing operation is used. Called when the built-inlen() function is used for the sequence object.