Курс 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. Использование html-скриптов в Jupyter Notebook
  2. Ограничение ресурсов в Python
  3. Определение имен функций
  4. Декораторы в Python
  5. Проблемы с именами переменных
  6. Регулярные выражения: метод match
  7. Форматирование строк в Python.
  8. Реверс строки в Python
  9. Глобальные переменные в Python
  10. Инициализация структур данных
  11. Итерация по коллекции в Python
  12. Обработка ошибок в JSON данных
  13. PATCH-запрос с библиотекой requests
  14. Лямбда-функции в Python
  15. Переменная с нижним подчеркиванием
  16. Печать списка с помощью метода join
  17. Работа с геоданными с помощью geopy
  18. Импорт классов из другого файла
  19. Перевод двоичного кода в целое число
  20. Подписка на SelectelNews в Twitter
  21. Создание пар из последовательностей
  22. Метод rsub для пользовательских чисел
  23. Методы в Python
  24. Объединение строк с помощью метода join
  25. Подсчет элементов с помощью Counter из collections
  26. Создание .exe файла с pyinstaller
  27. Поиск индекса элемента
  28. Dict Comprehension в Python
  29. Удаление и повторная вставка ключа в OrderedDict
  30. Оптимизация поиска в словарях
  31. Функция reduce() из модуля functools
  32. Работа с часовыми поясами в Python.
  33. Список и кортеж в Python
  34. Вывод переменной и строки в Python
  35. Преобразование чисел в слова
  36. Модуль pprint
  37. Объединение Python и Shell
  38. Работа со временем в Python
  39. Тест скорости набора текста на Python
  40. Преобразование PowerPoint в PDF.
  41. inspect в Python: анализ кода
  42. Хеширование паролей с использованием salt
  43. Применение функции к каждому элементу списка
  44. Функция с **kwargs в Python
  45. Объединение словарей в Python
  46. Проверка индексов коллекции
  47. Namedtuple в Python

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