Курс 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. Определение объема памяти объекта
  3. Проверка элемента в множестве.
  4. Python Поверхностное Копирование
  5. Импорт объектов из модулей
  6. Извлечение статей с newspaper3k
  7. split() без разделителя
  8. Использование функции product
  9. Красивый вывод списка
  10. Генераторы данных
  11. Создание пользовательской коллекции в Python
  12. Форматирование строк в Python.
  13. Принципы программирования
  14. Оформление кода по PEP 8
  15. Открытие и запись файлов
  16. Проверка вхождения подстроки
  17. Удаление дубликатов в pandas
  18. Экранирование символов в Python
  19. Операторы увеличения и уменьшения в Python
  20. Работа с словарями в Python
  21. Работа с zip-архивами в Python
  22. Работа со строками в Python
  23. Строки в Python: апострофы и кавычки
  24. Шаблоны и наследование в Flask
  25. Работа с argparse
  26. Многострочные строки в Python
  27. Отладка производительности Python
  28. Удаление специальных символов с помощью re.sub
  29. Улучшенные подсказки для импорта в Python 3.12
  30. Счетчик в Python: most_common()
  31. Работа со словарями в Python
  32. Сортировка списка по индексам
  33. Лямбда-функции в Python
  34. Отладка утечек памяти в Python
  35. Перебор элементов списка в Python
  36. Создание виртуальной среды
  37. Создание множества в Python
  38. Проверка типов с помощью isinstance
  39. Область видимости переменных
  40. Установка пакета в Python
  41. Метод enumerate() в Python
  42. Конкатенация строк с join() в Python
  43. Ускоренный импорт библиотек
  44. Проверка условий в Python

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