Обложка канала

Книги для программистов

50300 @bfbook

Книги для программистов — обзоры книг, видеолекции и другой образовательный материал для разработчиков.

Книги для программистов

3 года назад
Открыть в
Инкремент с помощью __pos__ В Python нет операции инкремента ++ как в си-подобных языках, поэтому используется x += 1. Однако запись ++x является валидным кодом (но не x++), так как это просто два унарных оператора сложения. При применении унарного плюса у объекта вызывается магический метод __pos__, то есть запись ++x можно понять как x.__pos__().__pos__(). Зная это, можно реализовать класс, который будет представлять число и поддерживать поведение инкремента. Код на картинке может показаться сначала немного сложным, но лучше проследить логику и понять работу метода __pos__. Если реализовать все остальные необходимо магические методы, то может получится полноценный класс числа, но в продакшне такие приколы лучше не писать. Подписывайтесь на канал 👉@pythonofff