Python — это язык программирования, который предоставляет множество инструментов для более лаконичного и выразительного кодирования. Одним из таких инструментов является декоратор @classmethod. Этот декоратор позволяет писать методы, которые оперируют с классом как с объектом. Давайте углубимся в суть этого декоратора и разберем его функционал, пользуясь примерами. Методы в которых нет никаких обращений к атрибутам объекта или другим методам всегда оборачивается в специальный декоратор @classmethod. Декоратор @classmethod используется для определения метода класса, который получает сам класс как неявный первый аргумент. Этот аргумент традиционно называется cls, и именно через него метод класса имеет доступ ко всем атрибутам и методам класса, а не к конкретному экземпляру этого класса, как это происходит с обычными методами экземпляра, получающими self. Основным плюсом декоратора @classmethod является наличие у него cls. cls — это объект, который содержит сам класс, а не экземпляр клас