Курс 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"
- Метод join() для объединения строк
- Объединение словарей в Python
- Конкатенация строк в Python
- Установка виртуального окружения Python
- Работа с областями видимости переменных
- Оператор морж в Python 3.8
- Особенности ключей словаря в Python
- Вывод сложных структур данных с помощью pprint
- Работа с файлами в Python
- Отношения подклассов в Python
- Шаблоны и наследование в Flask
- Замыкания в Python
- Функции с необязательными аргументами
- Установка и обучение ChatterBot
- Преобразование текста в нижний регистр
- Регистрация на хакатоне
- Работа с часовыми поясами в Python
- Форматирование чисел в Python
- Вывод символов строки в Python
- Сложные типы данных в Python
- Установка и использование pyshorteners
- Работа с датами в Python
- Метод __imod__ для Python
- Поиск шаблона в начале строки
- Резервирование символов в Python
- Импорт модулей в Python 3.12
- Возврат нескольких значений
- Обновление шаблона base.html
- Удаление специальных символов с помощью re.sub
- Аргумент по умолчанию
- Форматирование кода на Python
- Разделение строки на подстроки в Python
- Определение локальных переменных в Python
- Склеивание строк без циклов
- Создание OrderedDict
- Ветвление выражения в Python
- Оператор += для объединения строк
- Оператор is в Python
- Списки в Python: синтаксис представления
- Подсчет вхождений элементов
- Константы в модуле cmath
- Функция zip() в Python
- Создание лямбда-функций
- Сумма элементов списка















