4 ms·
Python's type annotation syntax is mostly similar to TypeScript. Each method is independent unless the class is a Generic[T]. You can define a recursive type
by pseudalopex 8y ago
Python's type annotation syntax is mostly similar to TypeScript.
Each method is independent unless the class is a Generic[T].
You can define a recursive type by quoting the nested reference.
You can define a JSON type with recursive types.
You can create stubs. Some are in typeshed.[1]
Mypy recently added protocols to simplify defining callable types.
Python has always been slow to add new syntax. I think that's a good thing overall.
[1] https://github.com/python/typeshed/ https://github.com/python/typeshed/
- weberc2 8y ago> You can define a recursive type by quoting the nested reference. No, that’s not sufficient, or at least it wasn’t. The problem wasn’t symbol resolution, but Mypy actually gave you a recursion error. At one time they were intending to fix it by implementing protocols which hadn’t landed last I checked. > You can create stubs. Some are in typeshed. You can, but not for magical libraries like SQLAlchemy. > Python has always been slow to add new syntax. I think that's a good thing overall. Probably, but it’s hindering their typing story. Typescript solves the problem by building a syntax that compiled to JS, but Python has some syntax support but lots of things are shoehorned in.