On Thu, Sep 5, 2013 at 12:40 PM,  <jsri...@gmail.com> wrote:
> Could someone please paraphrase this statement about variables and functions 
> in Python?
>
> I am going through the tutorials on docs.python.org, and I came across this 
> excerpt from http://docs.python.org/3/tutorial/controlflow.html:
>
> "The execution of a function introduces a new symbol table used for the local 
> variables of the function. More precisely, all variable assignments in a 
> function store the value in the local symbol table; whereas variable 
> references first look in the local symbol table, then in the local symbol 
> tables of enclosing functions, then in the global symbol table, and finally 
> in the table of built-in names. Thus, global variables cannot be directly 
> assigned a value within a function (unless named in a global statement), 
> although they may be referenced.
>
> "The actual parameters (arguments) to a function call are introduced in the 
> local symbol table of the called function when it is called; thus, arguments 
> are passed using call by value (where the value is always an object 
> reference, not the value of the object). [1] When a function calls another 
> function, a new local symbol table is created for that call."
>
> Even as a professional programmer, I'm not really able to follow this.  It 
> appears to be self-contradictory, amgiguous, incomplete, and possessive of 
> logical missteps.  The problem with looking for this information elsewhere is 
> that it's not going to be all in one spot like this half the time, and it's 
> not going to be readily searchable on Google without more knowledge of what 
> it's referring to.  However this looks like something that's too important to 
> overlook.
>
> I can tell it's referring to things like scope, pass-by-value, references, 
> probably the call stack, etc., but it is written extremely poorly.  
> Translation please?  Thanks!
> --
> https://mail.python.org/mailman/listinfo/python-list

Nearly everyone gets confused by this initially.  You should google
python namespaces

-- 
Joel Goldstick
http://joelgoldstick.com
-- 
https://mail.python.org/mailman/listinfo/python-list

Reply via email to