Ответ
Если класс — это чертеж (шаблон) для создания объектов, то экземпляр — это конкретный объект, построенный по этому чертежу.
Каждый экземпляр обладает собственным состоянием (уникальными значениями атрибутов), но разделяет поведение (методы), определенное в классе.
Процесс создания экземпляра называется инстанцированием. В Python он происходит при вызове класса как функции, что неявно запускает метод-конструктор __init__
для инициализации состояния нового объекта.
Пример:
# Класс (чертеж) для создания автомобилей
class Car:
def __init__(self, color, model):
# Атрибуты экземпляра - определяют его состояние
self.color = color
self.model = model
# Метод (поведение), общий для всех экземпляров
def display_info(self):
return f"Это {self.color} автомобиль модели {self.model}."
# Создание двух независимых экземпляров (инстанцирование)
car1 = Car("красный", "Tesla Model S")
car2 = Car("черный", "BMW X5")
# У каждого экземпляра свое состояние
print(car1.color) # Вывод: красный
print(car2.color) # Вывод: черный
# Но они используют общее поведение
print(car1.display_info()) # Вывод: Это красный автомобиль модели Tesla Model S.
print(car2.display_info()) # Вывод: Это черный автомобиль модели BMW X5.
Таким образом, car1
и car2
— это два разных экземпляра одного и того же класса Car
.