Методы классов определяются внутри класса, принимают self как первый аргумент и работают с данными экземпляра класса.

Статические переменные: общие для всех экземпляров класса, определяются внутри класса, но вне методов.

Статические методы: не требуют self, объявляются с помощью @staticmethod и работают с данными, не зависящими от экземпляров класса.

Специальные методы интегрируют пользовательские классы в язык, позволяя использовать их как встроенные типы данных. 

Например:
•	__init__: инициализация объекта
•	__str__ и __repr__: строковое представление объекта
•	__add__, __sub__, __mul__и т.д.: перегрузка операторов (+, -, * и т.д.)
•	__len__: метод для получения длина объекта
•	__getitem__, __setitem__: работа с индексами
