Local Variable is not strictly local - how does it work?

In the sequence below, L is first assigned a value outside any functions and its values do not change even when I assign L various value inside a funtion.
When I run defVar it prints the default value of L (assigned in the function definition),and after changing that memory spot by changing L2 (which has been assigned L value), it again prints the value of L which is now changed.
So far so good.
Outside the function and its execution L’s value is printed and it is unchanged from the top line.
Still good.
My confusion comes when I run defVar again. This time L has the changed value right from the beginning. Shouldn’t rerunning this function set the defaul value of L back to the default value in the definition to start with?
Changing that local variable inside the function seems to set a new value which gets stored outside funtion definition and execution. Is that local variable stored as a global somewhere?
Thanks in advance,
Pete

See Programming FAQ — Python 3.10.1 documentation.

Please don’t post pictures of code.