Курс 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"
- Удаление ключей из словаря
- Логирование с Logzero
- Виртуальные среды в Python
- Бинарный поиск
- Установка и использование Virtualenv
- Реализация операции -= для пользовательского класса
- Работа с zip()
- Просмотр файла в Jupyter Noteboo
- Сравнение неупорядоченных списков
- Импорт модуля из другого каталога
- Фильтрация данных в Python.
- Запуск Python из интерпретатора
- Списковое включение в Python
- Python Менеджер контекста
- Создание коллекций из генератора
- Форматирование объектов с модулем pprint
- Magic Commands — улучшение работы с Python
- Раздувающийся словарь в Python
- Методы __repr__ и __str__ в Python
- Работа с временем в Python
- Подписка на Kaspersky Team
- Переопределение оператора % для объектов
- Аннотации типов в Python
- Работа со строками в Python
- Проверка окончания строки с помощью str.endswith()
- Форматирование кода на Python
- Генерация случайных чисел в Python
- Проверка типов с использованием isinstance
- UserList в Python: Описание и примеры использования
- Вложенные функции в Python
- Python 3.12: переиспользование кавычек
- Генераторы в Python
- Создание и использование ChainMap
- Подписка на SelectelNews в Twitter
- Частичное совпадение пользовательского ввода в Python 3.10
- Именование переменных в Python
- Метод get() для словарей
- Метод title() в Python
- Добавление элементов в список
- Python: Фильтрация списков с помощью filter()
- ChainMap избыточные ключи
- Метод Enumerate() для списков
- Работа с очередями в Python
- Метод append() для списка















