Курс 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: отличительная особенность — отступы
- Работа с NumPy.linalg
- Использование функции enumerate()
- Работа с WindowsPath()
- Метод join() для объединения элементов
- Модуль subprocess: запуск внешних команд
- Подробная информация о %pinfo
- Форматирование строк в Python
- Статическая типизация в Python
- Подсчет вхождений элементов
- Установка и использование pyshorteners
- Управление виртуальными окружениями в Python
- Применение функции к списку
- Использование модуля math
- Функция divmod() в Python
- Удаление пробелов методом translate()
- Создание таблиц в Python с PrettyTable
- Частичное совпадение ввода
- Python itertools combinations() — группировка элементов
- Переопределение метода __and__
- Python Метод sleep() времени
- Импорт объектов из модулей
- Сложение матриц в NumPy
- Поиск шаблона в строке
- Настройка шрифта и цвета в Tkinter
- Оптимизация сравнения в Python
- Многоточие в Python
- Управление памятью в numpy.
- Наследование в программировании
- Анонимные функции Lambda
- Генераторы в Python
- Применение функции map() с лямбда-функциями
- Сортировка списка по индексам
- Регистрация на TenChat
- Проверка версии Python
- Автоматизация с Python
- Перевод двоичного кода в целое число
- Метод rsub в Python: расширение функциональности вычитания
- Работа с deque из collections
- Хранение переменных в словаре.
- Создание списка через итерацию
- Копирование объектов в Python
- Каналы Senior: Python, Java, Frontend, SQL, C++
- Работа с NumPy массивами
- Обновление данных через PUT запрос















