Курс 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"
- Обработка исключений с блоком else
- Модуль array: создание и использование массивов
- Форматирование вывода с F-строками
- Нахождение пересечения множеств
- Удаление элементов по срезу
- Логирование в Python
- Поиск повторов в списке
- Реверс строки и списка в Python.
- Python: изменяемые и неизменяемые коллекции
- Проверка типов с помощью isinstance
- Цикл for в Python
- Преобразование PowerPoint в PDF.
- Библиотека funcy: удобные утилиты
- Ускорение выполнения кода в Python
- Оператор in для проверки наличия элемента
- Удаление пробелов методом translate()
- Работа с кортежами
- Вывод сложных структур данных с помощью pprint
- Разделение строки на подстроки в Python
- Создание коллекций из выражения-генератора
- Python: библиотеки и функции
- Установка и использование Logzero
- Создание обратного итератора
- Оптимизация памяти в Python
- *args и **kwargs в Python
- Проверка на палиндром
- Генераторы в Python
- Проверка надежности пароля на Python
- Работа с атрибутом dict
- Работа с Path в Python
- Возвращение нескольких значений через кортеж или класс
- Проверка памяти объекта
- Форматирование строк в Python
- Руководство по Pymorphy2
- Извлечение данных из JSON
- Изменение IP-адреса в Python
- Объединение словарей в Python
- Экспорт данных с помощью writefile
- Многострочные комментарии в Python
- Значения по умолчанию в Python
- Форматирование строк в Python
- Печать в одной строке
- Библиотека itertools: объединение списков
- Генераторы в Python
- Преобразование текста в речь с Python















