Skip to main content

Special Methods in python


There are certain special methods which have special significance in classes such as the __init__ and __del__ methods whose significance we have already seen.
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.


NameExplanation
__init__(self, ...)This method is called just before the newly created object is returned for usage.
__del__(self)Called just before the object is destroyed
__str__(self)Called when we use the print statement with the object or when str() is used.
__lt__(self, other)Called when the less than operator ( < ) is used. Similarly, there are special methods for all the operators (+, >, etc.)
__getitem__(self, key)Called when x[key] indexing operation is used.
__len__(self)Called when the built-in len() function is used for the sequence object.

Comments

Popular posts from this blog

HTML Emailing in ZF2

<?php namespace Application\Model; use Zend\Mail\Message; use Zend\Mime\Message as MimeMessage; use Zend\Mime\Part as MimePart; use Zend\Mail\Transport\Sendmail as SendmailTransport; use Zend\Mail\Transport\Smtp as SmtpTransport; use Zend\Mail\Transport\SmtpOptions; use Zend\View\Renderer\PhpRenderer; use Zend\View\Resolver\TemplatePathStack; use Zend\View\Model\ViewModel; use Zend\View\Model\ModelInterface; class ApiEmail extends ApiInterface {    protected $From = "XXXXX@gmail.com";    protected $FromName = "XXXX";    protected $To = "" ;    protected $Subject = "" ;    protected $Body = "" ;    protected $Cc = "XXXXXX@gmail.com";    protected $Bcc = "XXXXX@gmail.com" ;    protected $ReplyTo = "XXXX@gmail.com" ;    protected $Sender = "" ;    protected $Encoding = "UTF-8" ;    protected $MESSAGE ; // getter setter ...

How to Set Up a Home Smart Office – A Step-by-Step Guide

  By Luna Lush In today's world, working from home has become the norm for many, making it essential to have a smart, efficient, and comfortable home office. With the right tech tools, you can transform any space into a productivity hub. In this tutorial, we'll walk you through setting up a home smart office that maximizes efficiency, comfort, and connectivity. Step 1: Choose the Right Space Before diving into tech, pick the ideal spot in your home. Whether it's a dedicated room or a cozy corner, ensure the area is quiet, well-lit, and free from distractions. Good lighting is crucial for video calls and reduces eye strain during long hours of work. Step 2: Invest in a Smart Desk Setup A smart desk setup is the foundation of your home office. Consider the following: Adjustable Standing Desk: Invest in a desk that allows you to switch between sitting and standing. Many options come with programmable settings to easily adjust the height. Ergonomic Chair: A chair that support...

Grouped CheckboxSelectMultiple in Django template

from itertools import groupby from django import forms from django . forms . models import ModelChoiceIterator , ModelMultipleChoiceField from . models import Feature , Widget class GroupedModelMultipleChoiceField ( ModelMultipleChoiceField ): def __init__ ( self , group_by_field , group_label = None , * args , ** kwargs ): """ ``group_by_field`` is the name of a field on the model ``group_label`` is a function to return a label for each choice group """ super ( GroupedModelMultipleChoiceField , self ). __init__ (* args , ** kwargs ) self . group_by_field = group_by_field if group_label is None : self . group_label = lambda group : group else : self . group_label = group_label def _get_choices ( self ): if hasattr ( self , '_choices' ): return self . _choices return GroupedModelCho...