← Все вопросы

Чем атрибут отличается от метода в классе?

Задан 3 месяца назад611 просмотров3 ответа
12

Говорят "атрибут" и "метод", а я не понимаю границу. Это же оба что-то внутри класса?

3 ответа

18
✓ Принятый ответ — помог автору

Атрибут — это данные (переменная объекта), метод — это действие (функция объекта).

class Cat:
    def __init__(self, name):
        self.name = name   # атрибут — что у кота ЕСТЬ

    def meow(self):        # метод — что кот ДЕЛАЕТ
        print("мяу")

cat.name — атрибут, обращаешься без скобок. cat.meow() — метод, вызываешь со скобками. Простое правило: существительное — скорее атрибут, глагол — скорее метод.

7

Атрибут — переменная, метод — функция, привязанная к объекту. Метод зовёшь со (), атрибут читаешь без.

4

Метод — это тоже атрибут, просто вызываемый. Но для понимания разделяй: данные vs поведение.

Кристина Ковалёва спасибо, дошло · 3 месяца назад

Ваш ответ

Войдите, чтобы ответить на вопрос.
Поддержать проект