Hello,

consider the following piece of code:

a=1
b=2

def foo(c):
    b=3
    return a + b + c

In this case, when calling "foo", "a" will take the global value,
"b" will take the local value and "c" will take the value assigned
when calling the function.

Since I consider this behaviour a possible source of bugs due to
personal sloppiness (e. g. forgetting to put "a=4" inside the
function-body):

Is there any way to automatically check that all variables in a
function are either local or passed in as arguments?

Regards,

Manuel Graune

-- 
A hundred men did the rational thing. The sum of those rational choices was
called panic. Neal Stephenson -- System of the world
http://www.graune.org/GnuPG_pubkey.asc
Key fingerprint = 1E44 9CBD DEE4 9E07 5E0A  5828 5476 7E92 2DB4 3C99
-- 
http://mail.python.org/mailman/listinfo/python-list

Reply via email to