3 ms·
It does! You can specify a protocol like this: class IntIndexable(Protocol[T]): def __getitem__(self, index: int, /) -> T: ... (Edit: formatting)
by sdeframond 1y ago
It does!
You can specify a protocol like this:
class IntIndexable(Protocol[T]):
def __getitem__(self, index: int, /) -> T: ...
(Edit: formatting)
- deleted 1y ago[deleted]
- j1elo 1y agoThe syntax is definitely harder to grasp but if the mechanism is there, I guess the parent poster's concern can be solved like that. Although I understant that it might have been just a simplified example. Usually the "Real World" can get very complex.
- sdeframond 1y ago> The syntax is definitely harder to grasp Yes it is. I believe the reason is that this is all valid python while typescript is not valid javascript. Also, python's type annotations are available at runtime (eg. for introspection) while typescript types aren't. That said, typescript static type system is clearly both more ergonomic and more powerful than Python's.