On 26/04/16 08:01, Santanu Jena wrote: > Hi, > > Pls let me why > " > def __init__(self): > > " > declaration required, what's the use of this one.Pls explain me in > details.
It is used to initialise object instances. For example if you define a class Rectangle that has a length and width and a method to calculate the area:. class Rectangle: length = 0 # defaults in case we forget to add them width = 0 def area(self): return self.length * self.width That works after a fashion: r = Rectangle() r.length = 20 r.width = 10 print r.area() # prints 200 But it is clumsy. It would be better to define the length and width as part of the object creation. To do that we add an __init__() method: class Rectangle: def __init__(self, len, width): self.length = len self.width = width def area(self): return self.length * self.width r = Rectangle(20,10) print r.area() # prints 200 So the init method allows us to initialise the values of the data attributes of our objects at the time of creation. (You can also call other methods inside init() of course but that is less common) You can read more about __init__() in my tutorial at the end of the Raw Materials topic and again in the OOP topic. -- Alan G Author of the Learn to Program web site http://www.alan-g.me.uk/ http://www.amazon.com/author/alan_gauld Follow my photo-blog on Flickr at: http://www.flickr.com/photos/alangauldphotos _______________________________________________ Tutor maillist - Tutor@python.org To unsubscribe or change subscription options: https://mail.python.org/mailman/listinfo/tutor