Методы и атрибуты: разбор

Атрибут — это данные объекта, метод — его действие. Оба вызывают через точку.

Атрибут — данные объекта

Атрибут — это переменная, которая принадлежит объекту и хранит его состояние: заряд дрона, размер склада. К атрибуту обращаются через точку, обычно его задают в __init__.

class Дрон:
    def __init__(self):
        self.заряд = 100
d = Дрон()
print(d.заряд)

Метод — действие объекта

Метод — это функция внутри класса, которая работает с данными объекта. Вызывают её через точку, а первый параметр self даёт методу доступ к атрибутам конкретного объекта.

class Дрон:
    def __init__(self):
        self.заряд = 100
    def летёть(self):
        self.заряд -= 10

Как они работают вместе

Атрибуты хранят состояние, методы его меняют. Вызвали d.летёть() — метод уменьшил атрибут d.заряд. Такое разделение «данные + действия над ними» и есть суть объектного подхода.

Частые вопросы

Чем метод отличается от обычной функции? Метод привязан к объекту и через self работает с его данными.

Зачем нужен self? Через него метод обращается к атрибутам именно своего объекта.

Начать игру бесплатно