Вопрос №23
Осталось:
Что такое классы и объекты в Python?
Образцовый ответ
Показывать ответ по умолчанию
Класс — это шаблон (чертёж) для создания объектов. Объект — это конкретный экземпляр класса.
Определение класса:
class Dog: # Атрибут класса (общий для всех экземпляров) species = "Canis familiaris" # Конструктор — вызывается при создании объекта def __init__(self, name, age): # Атрибуты экземпляра (уникальны для каждого объекта) self.name = name self.age = age # Метод экземпляра def bark(self): return f"{self.name} говорит: Гав!"
Создание объектов:
dog1 = Dog("Бобик", 3) dog2 = Dog("Шарик", 5) print(dog1.name) # Бобик print(dog2.bark()) # Шарик говорит: Гав! print(dog1.species) # Canis familiaris
self:
- self — ссылка на текущий экземпляр класса.
- Передаётся автоматически при вызове метода.
- Через self доступны атрибуты и методы объекта.
Атрибуты класса vs экземпляра:
class Counter: count = 0 # Атрибут класса — общий для всех def __init__(self): Counter.count += 1 # Изменяем атрибут класса self.id = Counter.count # Атрибут экземпляра c1 = Counter() c2 = Counter() print(Counter.count) # 2 print(c1.id, c2.id) # 1 2
