Why aren't python nested functions called closures?
Because python doesn'tet them to be, that's why!

In most languages, a function, which itself is defined within another (outer) function, is called a closure. Python is not like most languages. The term closure is technically incorrect for nested functions in python - but we'll get used to misnaming them! :)

Pythonably gives you nested functions, but without some of the bells and whistles available in other (more functional) languages - such as lexical scoping (unbounded free variables), but with the addition of a global variable system to
Do python nested functions lose their

1. access to nonlocal variables?
2. capability to return a "closured value" (i.e. a tuple of a variable and function)?
3. ability toously return different values for different closure?

So what actually do they gain from being nested functions instead of being closures? Thank You

Python's nested functions are not the same as closures, but they do share some similarities. Here's a brief explanation of both concepts and how they differ in Python.

**Closure:** A closure is a function