Курс Python → Методы classmethod и staticmethod

Метод classmethod в Python используется для создания методов, которые могут быть вызваны как для класса, так и для экземпляра этого класса. Когда мы используем classmethod, первым аргументом метода будет передан класс вместо экземпляра. Это позволяет нам работать с классом, а не с конкретным объектом. Объект метода classmethod сравнивается равным, когда обе функции равны, а связанные объекты одинаковы. Например, o1.method == o1.method верно, хотя это не один и тот же объект в памяти.

Еще одним полезным методом является staticmethod, который преобразует функцию в дескриптор «no-op», который возвращает функцию как есть. Это означает, что объекты метода никогда не создаются, поэтому сравнение с использованием оператора is будет верным. Таким образом, при использовании staticmethod мы можем вызывать методы класса, не создавая экземпляр класса.


class MyClass:
    @classmethod
    def class_method(cls):
        return cls

    @staticmethod
    def static_method():
        return "This is a static method"

В приведенном примере мы создаем класс MyClass с методами class_method и static_method. Метод class_method является методом класса, который возвращает сам класс, а метод static_method является статическим методом, который возвращает строку. Оба метода могут быть вызваны как для класса, так и для экземпляра этого класса без необходимости создавать объект метода.

Твои коллеги будут рады, поделись в

Автор урока

Дмитрий Комаровский
Дмитрий Комаровский

Автоматизация процессов
в КраснодарБанки.ру

Другие уроки курса "Python"

  1. Удаление ключей из словаря
  2. Логирование с Logzero
  3. Виртуальные среды в Python
  4. Бинарный поиск
  5. Установка и использование Virtualenv
  6. Реализация операции -= для пользовательского класса
  7. Работа с zip()
  8. Просмотр файла в Jupyter Noteboo
  9. Сравнение неупорядоченных списков
  10. Импорт модуля из другого каталога
  11. Фильтрация данных в Python.
  12. Запуск Python из интерпретатора
  13. Списковое включение в Python
  14. Python Менеджер контекста
  15. Создание коллекций из генератора
  16. Форматирование объектов с модулем pprint
  17. Magic Commands — улучшение работы с Python
  18. Раздувающийся словарь в Python
  19. Методы __repr__ и __str__ в Python
  20. Работа с временем в Python
  21. Подписка на Kaspersky Team
  22. Переопределение оператора % для объектов
  23. Аннотации типов в Python
  24. Работа со строками в Python
  25. Проверка окончания строки с помощью str.endswith()
  26. Форматирование кода на Python
  27. Генерация случайных чисел в Python
  28. Проверка типов с использованием isinstance
  29. UserList в Python: Описание и примеры использования
  30. Вложенные функции в Python
  31. Python 3.12: переиспользование кавычек
  32. Генераторы в Python
  33. Создание и использование ChainMap
  34. Подписка на SelectelNews в Twitter
  35. Частичное совпадение пользовательского ввода в Python 3.10
  36. Именование переменных в Python
  37. Метод get() для словарей
  38. Метод title() в Python
  39. Добавление элементов в список
  40. Python: Фильтрация списков с помощью filter()
  41. ChainMap избыточные ключи
  42. Метод Enumerate() для списков
  43. Работа с очередями в Python
  44. Метод append() для списка

Marketello читают маркетологи из крутых компаний