Курс 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. Блок else в циклах Python
  2. Оптимизация гиперпараметров в Python
  3. Antigravity модуль
  4. Создание пар из последовательностей
  5. Работа с CSV в Python
  6. Список и кортеж в Python
  7. Работа со словарями
  8. Логирование в Python
  9. Оператор @ для умножения матриц
  10. Управление виртуальными средами в Python
  11. Автоматизация действий с Pyautogui
  12. Оператор «not» в Python
  13. Методы работы со строками в Python
  14. Преобразование данных в Python
  15. Генерация случайных чисел Python
  16. Функции all и any в Python
  17. Работа со словарями в Python
  18. Работа с парами ключ-значение
  19. Создание файла с проверкой ошибки
  20. PUT запрос для обновления данных
  21. Декодирование байтов в строку
  22. Принципы Zen of Python
  23. Сохранение Unicode в JSON
  24. Расчет времени выполнения
  25. Создание списков в Python
  26. Метод join() для объединения элементов
  27. Оператор space-invader
  28. Функция zip() в Python
  29. Библиотека funcy: удобные утилиты
  30. Создание Telegram-бота на Python
  31. Инверсия списка и строки в Python
  32. Combobox в Tkinter
  33. Назначение максимального и минимального значения переменной в Python.
  34. lru_cache оптимизация функций
  35. Именованные кортежи в Python
  36. Обработка исключений в Python
  37. Удаление эмодзи с помощью pandas
  38. Замена текста с помощью sub
  39. Методы Python для работы с данными
  40. Проверка файла .py на синтаксис.
  41. Проверка наличия элемента в списке
  42. Преобразование строк в числа в Python
  43. Просмотр файла в Jupyter Noteboo
  44. Конвертация изображений в PDF
  45. Функции в одну строку
  46. Импортирование в Python

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