What problems are there with python variable scoping -- you can have global and local variables, shouldn't that be enough?
What problems are there with python variable scoping -- you can have global and local variables, shouldn't that be enough?
Yeah, that was my assumption. Still, typing in Python feels very clunky compared to TypeScript. And even though it is much better after 3.8 and 3.9 updates, the adoption of typing in various useful libraries was relatively low as far as I remember.
> What problems are there with python variable scoping -- you can have global and local variables, shouldn't that be enough?
Maybe it is just me, but the scoping rules feel weird: blocks like "with"-statement or for-loops don't create scopes. There is no distinction between declaration and assignment. Sometimes you have to use those weird "nonlocal" and "global".
The typing has been great in my experience. Most of my deps have types and if they don't I can autogenerate them. The powerful typing of TypeScript is mostly not needed if you're not interacting with JS code.
I used comments in the code to say what the types were, e.g.:
def processNotesForm(d):
""" process the notes form
@param d::{str:str} = the form data
"""
Of course in modern Python one would simply say: def processNotesForm(d: Dict[str,str]):