Курс 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: основы
- Функции с необязательными аргументами
- Асинхронный код в Python
- Работа с процессами в Python
- Команда %dhist — список посещенных каталогов
- Профилирование кода на Python
- Создание итератора
- Определение основы слова с showballstemmer
- Шаблоны Flask: условия и циклы
- Проверка памяти объекта
- Метод __imod__ для Python
- Оптимизация сравнения в Python
- Повторение и перенос строки
- Обработка исключения UnboundLocalError
- Определение наиболее частого элемента с помощью collections.Counter
- Вакансии в Nebius
- Работа с OpenCV
- Подсказки при вводе данных в Python
- Конвертация коллекций в Python
- Форматирование строк с % в Python
- Colorama: окрашивание текста в Python
- Декоратор @override
- Разделение строк методом split()
- Генераторы данных
- Отрицательные индексы списков в Python
- Модуль inspect: получение информации о объектах
- Представление бесконечности в Python
- Метод rsub для пользовательских чисел
- Объединение кортежей в Python
- Объединение словарей в Python
- Конвертация коллекций в Python.
- Операции с матрицами в Python
- Удаление дубликатов в pandas
- Переопределение метода __lshift__
- Работа с множествами в Python
- Декоратор Ajax required
- Управление фоновыми задачами в Python
- Поиск email
- Удаление дубликатов из списка
- Работа с CSV файлами в Python
- Работа с файлами в Python
- Создание панели меню Tkinter
- Метод сравнения объектов в Python















