Python: почему @staticmethod и @classmethod можно вызывать без создания экземпляра? Основные различия? [дубликат]Python

Программы на Python
Ответить
Anonymous
 Python: почему @staticmethod и @classmethod можно вызывать без создания экземпляра? Основные различия? [дубликат]

Сообщение Anonymous »

Я изучаю методы классов Python, и у меня есть два связанных вопроса:
  • Почему статические методы (украшенные 

    Код: Выделить всё

    @staticmethod
    ) и методы класса (украшенные 

    Код: Выделить всё

    @classmethod
    ) можно вызывать напрямую через класс (без предварительного создания экземпляра класса)? Напротив, обычные методы экземпляра требуют вызова экземпляра.
  • Каковы основные различия между @staticmethod и @classmethod? Например:
    • Как они обрабатывают доступ к атрибутам класса/экземпляра?
    • Каковы их соответствующие варианты использования?
Я прочитал некоторые базовые объяснения, но до сих пор не могу понять, почему они могут вызываться без создания экземпляров и их практическое различие. Мы будем очень признательны за любые ясные примеры и объяснения!

Подробнее здесь: https://stackoverflow.com/questions/798 ... tantiation
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»