Python 3.13+typingфункция
typing.get_protocol_members
интроспекция
Возвращает frozenset имён членов протокола (методов и атрибутов; Python 3.13+).
Синтаксис
typing.get_protocol_members(proto)
Возвращает только объявленные тобой методы и атрибуты, отсеивая служебные дандеры самого механизма Protocol. До версии 3.13 публичного способа получить этот список не было; на классе, который протоколом не является, функция бросает TypeError.
Примеры
import typing
from typing import Protocol
class P(Protocol):
def foo(self) -> int: ...
fn = getattr(typing, 'get_protocol_members', None)
print('foo' in fn(P) if fn else True) # → True
См. также
Частые ошибки
Открыть в полном глоссарииdocs.python.orgСообщить о неточности