Глава 14 · Создаём объекты реального мира

Управляем объектами

Атрибуты можно менять после создания объекта — а методы дают объекту собственные действия.

Управляем объектами

Значения атрибутов можно менять уже после создания объекта — так же, как менять значение обычной переменной:

menyaem_atributy.py
rex = Sobaka("Рекс", 3)
rex.vozrast = 4   # у Рекса был день рождения
print(rex.vozrast)

Объекты выполняют действия

Кроме данных (атрибутов), у класса могут быть свои действия — методы: обычные функции, определённые внутри класса, которые имеют доступ к self и, через него, к атрибутам объекта:

metody.py
class Sobaka:
    def __init__(self, klichka, vozrast):
        self.klichka = klichka
        self.vozrast = vozrast

    def layat(self):
        print(f"{self.klichka} говорит: Гав-гав!")

    def prazdnovat_den_rozhdeniya(self):
        self.vozrast += 1
        print(f"Теперь {self.klichka} исполнилось {self.vozrast}!")

rex = Sobaka("Рекс", 3)
rex.layat()
rex.prazdnovat_den_rozhdeniya()
Знакомая запись
rex.layat() устроена точно так же, как artist.forward(100) или "текст".upper() — методы объектов, которыми вы уже давно пользуетесь, устроены абсолютно так же, как метод layat(), который вы только что написали сами.
Практика в Jupyter Notebook
14-03-metody.ipynb · методы и изменение атрибутов
Открыть ноутбук →