On Thu, 24 Sep 2020 18:13:54 +0200
Mauro Carvalho Chehab <[email protected]> wrote:

> > How can this possibly work without a "global namespace" declaration in
> > markup_namespace()?  
> 
> ... While I'm not a python expert, the namespace variable is global
>     because it was defined outside the "markup_namespace" function.

Assignments within functions are *always* local unless declared global.

Try this:

        $ python3
        >>> x = 0
        >>> def y(v):
        >>>     x = v
        >>>
        >>> y(1)
        >>> x
        0
        >>>

So your assignment to "namespace" in markup_namespace() cannot change the
global, since it's not declared global.

jon

Reply via email to