У меня путаница относительно того, почему мы используем init и self при определении класса, когда мы можем использовать методы.Следующий пример иллюстрирует мою путаницу:
Пример 1 Использование init и self:
class car:
def __init__(self,model,color):
self.model = model
self.color = color
def show(self):
print('model is', self.model)
print('color is', self.color)
audi = car('audi a4', 'blue')
ferrari = car('ferrari 488','green')
audi.show()
model is audi a4
color is blue
ferrari.show()
model is ferrari 488
color is green
Пример 2 Использование методов:
class car:
def audifeatures(car, model, color):
print ('car is', car, 'model is', model, 'color is', color)
def ferrarifeatures(car, model, color):
print ('car is', car, 'model is', model, 'color is', color)
car.audifeatures('audi','x8','black')
car is audi model is x8 color is black
car.ferrarifeatures('ferrari','f5','red')
car is ferrari model is f5 color is red