Курс 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"
- Использование html-скриптов в Jupyter Notebook
- Ограничение ресурсов в Python
- Определение имен функций
- Декораторы в Python
- Проблемы с именами переменных
- Регулярные выражения: метод match
- Форматирование строк в Python.
- Реверс строки в Python
- Глобальные переменные в Python
- Инициализация структур данных
- Итерация по коллекции в Python
- Обработка ошибок в JSON данных
- PATCH-запрос с библиотекой requests
- Лямбда-функции в Python
- Переменная с нижним подчеркиванием
- Печать списка с помощью метода join
- Работа с геоданными с помощью geopy
- Импорт классов из другого файла
- Перевод двоичного кода в целое число
- Подписка на SelectelNews в Twitter
- Создание пар из последовательностей
- Метод rsub для пользовательских чисел
- Методы в Python
- Объединение строк с помощью метода join
- Подсчет элементов с помощью Counter из collections
- Создание .exe файла с pyinstaller
- Поиск индекса элемента
- Dict Comprehension в Python
- Удаление и повторная вставка ключа в OrderedDict
- Оптимизация поиска в словарях
- Функция reduce() из модуля functools
- Работа с часовыми поясами в Python.
- Список и кортеж в Python
- Вывод переменной и строки в Python
- Преобразование чисел в слова
- Модуль pprint
- Объединение Python и Shell
- Работа со временем в Python
- Тест скорости набора текста на Python
- Преобразование PowerPoint в PDF.
- inspect в Python: анализ кода
- Хеширование паролей с использованием salt
- Применение функции к каждому элементу списка
- Функция с **kwargs в Python
- Объединение словарей в Python
- Проверка индексов коллекции
- Namedtuple в Python















