Курс 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"
- Проверка индексов коллекции
- Определение объема памяти объекта
- Проверка элемента в множестве.
- Python Поверхностное Копирование
- Импорт объектов из модулей
- Извлечение статей с newspaper3k
- split() без разделителя
- Использование функции product
- Красивый вывод списка
- Генераторы данных
- Создание пользовательской коллекции в Python
- Форматирование строк в Python.
- Принципы программирования
- Оформление кода по PEP 8
- Открытие и запись файлов
- Проверка вхождения подстроки
- Удаление дубликатов в pandas
- Экранирование символов в Python
- Операторы увеличения и уменьшения в Python
- Работа с словарями в Python
- Работа с zip-архивами в Python
- Работа со строками в Python
- Строки в Python: апострофы и кавычки
- Шаблоны и наследование в Flask
- Работа с argparse
- Многострочные строки в Python
- Отладка производительности Python
- Удаление специальных символов с помощью re.sub
- Улучшенные подсказки для импорта в Python 3.12
- Счетчик в Python: most_common()
- Работа со словарями в Python
- Сортировка списка по индексам
- Лямбда-функции в Python
- Отладка утечек памяти в Python
- Перебор элементов списка в Python
- Создание виртуальной среды
- Создание множества в Python
- Проверка типов с помощью isinstance
- Область видимости переменных
- Установка пакета в Python
- Метод enumerate() в Python
- Конкатенация строк с join() в Python
- Ускоренный импорт библиотек
- Проверка условий в Python















