For instance:
from typing import Protocol class MyClass: def method_a(self) -> None: ... def method_b(self) -> None: ... class ProtocolA(Protocol): def method_a(self) -> None: ... class ProtocolB(Protocol): def method_b(self) -> None: ... def compare(a: ProtocolA, b: ProtocolB): if a == b: print("a == b") else: print("a != b") a = MyClass() b = MyClass() compare(a, b)
For instance:
Clearly, you would expect the output to be "a == b".