Курс 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"
- Оптимизация памяти с slots
- Создание .exe файла с pyinstaller
- Моржовый оператор в Python 3.8
- Декораторы с аргументами
- Конкатенация строк с помощью join()
- Создание панели меню Tkinter
- Переопределение оператора % для объектов
- Обмен переменными в Jupyter
- Удаление дубликатов из списка с помощью dict.fromkeys
- Структурирование именованных констант
- Lambda Functions in Python
- Применение функции к каждому элементу списка
- Поиск наиболее частого элемента в списке
- Кортежи в Python: особенности и преимущества
- Управление виртуальными окружениями в Python
- Возврат нескольких значений
- Циклы for в Python
- Построение графиков в терминале с bashplotlib
- Преобразование Excel в PDF с Spire.XLS
- Резервирование символов в Python
- Установка и использование emoji
- Метод join() для объединения строк
- inspect в Python: анализ кода
- Обработка ошибок в Python
- Работа со случайными элементами
- Поиск самого длинного слова в списке с использованием max()
- Счетчик ссылок в Python
- Python reversed() vs срез[::-1]
- Отправка POST запроса на сервер.
- Передача словаря через **kwargs
- Генераторы списков
- Передача параметров в Python
- Утечки переменных цикла в Python 3.x
- Операция += для списков
- Инициализация структур данных
- Добавление элементов в список: append() vs extend()
- Сериализация объектов в Python
- Отладка в командной строке
- Создание таблиц в терминале с PrettyTable
- Запуск внешних программ с subprocess
- Python: библиотеки и функции
- Упрощение условных выражений с тернарным оператором
- Проверка класса объекта
- Создание OrderedDict
- Объединение словарей в Python















