Метод __ init __ запускается автоматически при создании объекта. Он используется для инициализации переменных экземпляра.
class my_class():
def __init__(self,a,b):
self.a = a
self.b = b
print("Object was created, instance variables were initialized")
obj = my_class(1,2)
print(obj.a) #prints 1
print(obj.b) #prints 2
Метод __ call __ может использоваться для переопределения / повторной инициализации тех же объектов. Это также облегчает использование экземпляров / объектов класса в качестве функций путем передачи аргументов объектам.
class my_class():
def __init__(self, a,b):
self.a=a
self.b=b
def __call__(self,a,b):
Sum = a+b
return Sum
obj = my_class(1,2) # a=1, b=2
Sum = obj(4,5) # a=4, b=5 instance variables are re-initialized
print(Sum) # 4 + 5= 9