class car: name = "None" weight = 1000 speed = 200 #__init__ нужен, чтобы сразу задать объекту нужные параметры #Инициализация при создании def __init__(self, name, weight, speed): self.name = name self.weight = weight self.speed = speed print(f"{self.name} едет со скоростью {self.speed}") #self необходим для того, Чтобы отличать методы от функций, которые не привязаны к какому-то классу/объекту, #поддерживать полиморфизм. Self - это что-то типа параметра метода. def set(self, name, weight, speed): self.name = name self.weight = weight self.speed = speed #Класс наследник создаётся так: class truck(car): wheels = 8 def __init__(self): pass man = truck() man.wheels = 12 print(man.wheels) #классы - наследники имеют доступ к методам из оригинального класса man.set(weight = 10000, name = "Man", speed = 200) Audi = car("Audi", 2000, 320) Audi.set(weight = 2000, name = "Audi", speed = 320) print(Audi.name) Shkoda = car("Shkoda", 1800, 235) Shkoda.set(weight = 1800, name = "Shkoda", speed = 235) print (Shkoda.name)