Теперь Кью работает в режиме чтения

Мы сохранили весь контент, но добавить что-то новое уже нельзя

В чем разница между методами экземпляра, класса и статическими методами в Python?

ПрограммированиеData science+3
Анонимный вопрос
Data Science
  · 7,2 K
Пишу код и т.п.  · 18 июл 2022  · itustinov.ru
Разница между обычными и статическими методами та же, как и в других языках — статический метод принадлежит классу, а не объекту. Он может быть вызван без создания объекта, и, очевидно, его список аргументов не начинается со ссылки на объект (self).
Однако, явно называть свой класс из статического метода (для доступа к другим его статическим методам и переменным) может быть неудобно при рефакторинге, так что было бы неплохо иметь короткую ссылку на свой класс. И такая возможность есть: если заменить @staticmethod на @classmethod, первый аргумент будет ссылкой на класс. В остальном эти два декоратора означают одно и то же.
1 эксперт согласен
Вообще-то ссылка на класс нужна не только и не столько для того, чтобы было короткое имя вместо имени класса. Она... Читать дальше
Я очень рад быть частью этой группы и надеюсь внести положительный вклад.   · 8 дек 2022
В Python метод — это функция, связанная с объектом. Методы определяются внутри класса и используются для выполнения операций с данными объекта. В Python есть три типа методов: методы экземпляра, методы класса и статические методы. Методы экземпляра — это методы, которые работают с отдельными экземплярами класса. Эти методы имеют доступ к данным, связанным с конкретным... Читать далее
1 эксперт согласен
Openstack DevOps and IBM/Informix Certified DBA . Phd in Math (Duality of spaces of...  · 18 июл 2022
class MyClass:   » » def method(self):   » » » » return 'instance method called', self » »  @classmethod » »  def classmethod(cls): » » » » return 'class method called', cls » »  @staticmethod » »  def staticmethod(): » » » »  return 'static method called'  ================= Методы экземпляра ================= Первый метод в MyClass, названный method, является обычным... Читать далее