Протоколы#

Специальные методы отвечают не только за поддержку операций типа сложение, сравнение, но и за поддержку протоколов. Протокол - это набор методов, которые должны быть реализованы в объекте, чтобы он поддерживал определенное поведение. Например, в Python есть такие протоколы: итерации, менеджер контекста, контейнеры и другие. После создания в объекте определенных методов, объект будет вести себя как встроенный и использовать интерфейс понятный всем, кто пишет на Python.