Курс 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. Списковое включение в Python
  2. Объединение словарей в Python
  3. Списки в Python: синтаксис представления
  4. Пересечение списков с использованием множеств
  5. Использование функции enumerate()
  6. Оператор += для объединения строк
  7. Любовь к Python
  8. Удаление элементов во время итерации
  9. Определение объема памяти объекта
  10. Распаковка элементов массива
  11. Профилирование кода на Python
  12. Импорт объектов из модулей
  13. Методы сравнения множеств
  14. Обмен значений переменных в Python
  15. Python: библиотеки и функции
  16. Отрицательные индексы списков в Python
  17. Структура данных словарь в Python
  18. Математические функции в Python
  19. Копирование в Python
  20. Функции высшего порядка в Python
  21. Python enumerate() функции
  22. Преобразование регистра строк
  23. Поиск подстроки в строке
  24. Удаление дубликатов в pandas
  25. Python Аргументы по умолчанию
  26. Оператор «not» в Python
  27. Расчет времени выполнения
  28. Настройка шрифта и цвета в Tkinter
  29. Работа с JSON в Python
  30. Создание списков в Python
  31. Использование обратной косой черты в f-строках
  32. Преобразование PowerPoint в PDF.
  33. Извлечение новостей с помощью newspaper3k
  34. Реверс строки в Python
  35. Функции-генераторы в Python
  36. Избегание изменяемых аргументов
  37. Работа с множествами в Python
  38. Создание итерируемых объектов
  39. Работа с итераторами через срезы
  40. Сортировка данных с лямбда-функциями
  41. Сравнение строк в Python
  42. Извлечение аудио из видео
  43. Работа с CSV файлами в Python
  44. Получение текущего времени в Python

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