Class creation and instantiation is cleaner and a lot more easier in Python.
class Student: def __init__(self): pass def getName(self,name): self.name = name print self.name def totalMarks(self,fmarks,smarks,tmarks): self.fmarks = fmarks self.smarks = smarks self.tmarks = tmarks tot_marks = fmarks+smarks+tmarks print tot_marks Messi = Student() Messi.getName('Rajeev') Messi.totalMarks(23,24,34)
In the above Python code snippet we have created a class template Student.
Now let us analyze it :
- We have a method __init__ which acts as a constructor in Python. This function is automatically called when the class in instantiated. We have used "pass" just to pass the method and do nothing.
- We also see that all the functions in the class take the first argument as "self" ."self" is actually a placeholder used in Python set as a first argument in functions.This is replaced with the object which is used to call that function. For Example if we created an instance of student as "Messi" , then when we call a function using this object,then the self is replaced with the object "Messi".
- getName() method takes the name of the Student and assigns it to the Object's name parameter which called this function.
- totalMarks() method takes the marks scored by students in 3 tests and calculates the Total Marks.
- Further Down we have a created an instance of the class Student "Messi".
- Using the Object Messi we called the getName() and totalMarks() methods using dot(.) notation.
- As you can observe we do not pass anything in place of self parameter of methods , as we already know that it is just a place holder.
That's it , Class creation is that's simple and fun.