![[telegram-cloud-photo-size-4-5850234924966199391-w.jpg]] _Протоколы — это соглашения, которые определяют интерфейс класса и поведение его объектов._ Протоколы задаются с помощью специальных методов, таких как str, len и другие. Они позволяют классам работать с различными функциями и операторами языка. Реализуя протоколы можно интегрировать классы в языке и делать их поведение естественным и интуитивным. В Python есть протоколы для чисел, итераторов, контекстных менеджеров, атрибутов и других областей. Встроенные и сторонние библиотеки полагаются на стандартные протоколы.