Как создать экземпляр класса с параметрами конструктора

Экземпляр создаётся вызовом класса с аргументами. Метод __init__ записывает значения в атрибуты self, поэтому у каждого экземпляра будет собственное имя и возраст.

Короткий ответ

Что ответить на собеседовании

Экземпляр создаётся вызовом класса с аргументами. Метод init записывает значения в атрибуты self, поэтому у каждого экземпляра будет собственное имя и возраст.

Подробный разбор

Ответ с пояснениями

Условие

Дан класс Python User, который должен хранить имя и возраст. Реализуйте его и создайте два независимых экземпляра с именами Анна и Борис и возрастами 30 и 25. Покажите, что изменение одного не меняет другого.

Ответ

Экземпляр создаётся вызовом класса с аргументами. Метод init записывает значения в атрибуты self, поэтому у каждого экземпляра будет собственное имя и возраст.

class User:
    def __init__(self, name, age):
        self.name = name
        self.age = age

anna = User('Анна', 30)
boris = User('Борис', 25)
anna.age = 31
assert anna.age == 31
assert boris.age == 25
assert anna is not boris

Класс описывает поведение и способ инициализации, а переменные anna и boris ссылаются на конкретные объекты. Вызов init вручную не требуется: его вызывает механизм создания экземпляра. В прикладном коде проверку допустимого возраста можно добавить в инициализацию, если этого требует контракт.

ИИ-помощник для собеседований

Хочешь уверенно проходить собеседования?

Попробуй ИИ-помощник для собеседований: слышит вас и собеседника, анализирует экран, подсказывает ответы в реальном времени, работает без VPN и не попадает в захват экрана.

Подробнее