Python - Difference Between __init__ and __call__
I have given here python program that explains difference between __init__ and __call__. __init__ would be treated as Constructor where as __call__ methods can be called with objects any number of times. Both __init__ and __call__ functions do take default arguments.
This code is tested with Python version 2.6
class CEmployee:
age = 0
name = ""
def __init__ (self, name="unassigned", age=-1):
self.name = name
self.age = age
def __call__ (self, name, age=10):
self.name = name
self.age = age
def PrintRecord(self):
print self.name, self.age
s1 = CEmployee()
s1.PrintRecord()
s1("Kathir")
s1.PrintRecord()
s1("Kathir", 33)
s1.PrintRecord()
#output
#unassigned -1
#kathir 10
#kathir 33
|
|