Встречается на собеседованиях • сегодня

Что такое семантика протокола

Семантика протокола определяет смысл и правила интерпретации сообщений, которыми обмениваются участники взаимодействия. В Python это относится к протоколам (интерфейсам), которые определяют ожидаемое поведение объектов через специальные методы (dunder-методы).

Например, протокол итерации требует наличия __iter__() или __getitem__(), а протокол контекстного менеджера — __enter__() и __exit__(). Семантика определяет, как эти методы должны работать.

Пример с протоколом последовательности:

python
class MySequence:
    def __len__(self):
        return 5
    
    def __getitem__(self, index):
        return index * 2

seq = MySequence()
print(len(seq))  # 5
print(seq[3])    # 6

Здесь MySequence реализует семантику протокола последовательности через __len__ и __getitem__, что позволяет использовать стандартные операции типа len() и индексации.

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы