Manuel Graune schrieb:
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?
No. And as long as you don't have the habit of using global variables to
a non-reasonable extent, and follow some simple conventions such as
spelling them in all uppercase and with more meaningful names such as
the ones above - it's not an actual problem.
Diez
--
http://mail.python.org/mailman/listinfo/python-list