
Python без классов и объектов – как Гарри Поттер без волшебной палочки. Можно, конечно, но магии маловато! Сегодня разберём, что такое классы, объекты и зачем всё это нужно. Будет весело, обещаю!
Что такое класс? 🎩
Класс – это чертёж, по которому создаются объекты. Представьте, что вы открыли бизнес по производству роботов. У вас есть общий план (класс), а каждый новый робот – это объект.
Создадим класс:
class Robot:
def __init__(self, name, model):
self.name = name # Имя робота
self.model = model # Модель робота
def introduce(self):
return f"Привет, я {self.name}, модель {self.model}!"
Здесь __init__
– это конструктор, который создаёт объект и наделяет его свойствами.
А теперь создадим роботов! 🤖
robot1 = Robot("Робик", "X100")
robot2 = Robot("Бип-Боп", "Z200")
print(robot1.introduce()) # Привет, я Робик, модель X100!
print(robot2.introduce()) # Привет, я Бип-Боп, модель Z200!
Теперь у нас два робота, которые гордо представляются!
Методы класса 🛠
Методы – это действия, которые может выполнять объект. Добавим нашему роботу способность танцевать.
class Robot:
def __init__(self, name, model):
self.name = name
self.model = model
def introduce(self):
return f"Привет, я {self.name}, модель {self.model}!"
def dance(self):
return f"{self.name} танцует ламбаду! 💃"
robot3 = Robot("Танцор", "D300")
print(robot3.dance()) # Танцор танцует ламбаду! 💃
Наследование – когда дети умнее родителей 👶
Иногда нам нужно создать класс, который будет похож на другой, но с небольшими отличиями. Например, роботы-пылесосы!
class VacuumRobot(Robot):
def __init__(self, name, model, dust_capacity):
super().__init__(name, model)
self.dust_capacity = dust_capacity # Вместимость пылесборника
def clean(self):
return f"{self.name} усердно пылесосит комнату! 🧹"
vac_bot = VacuumRobot("Пылесосик", "VC500", "2 литра")
print(vac_bot.introduce()) # Привет, я Пылесосик, модель VC500!
print(vac_bot.clean()) # Пылесосик усердно пылесосит комнату! 🧹
Итоги 📌
✅ Классы – это чертежи объектов. ✅ Объекты – это экземпляры классов. ✅ Методы – это действия, которые выполняют объекты. ✅ Наследование – когда один класс берёт всё лучшее у другого.
Теперь вы можете создавать свои классы, наделять их магическими методами и писать код как настоящий мастер ООП!