On Tue, Jun 21, 2011 at 8:35 AM, gervaz <ger...@gmail.com> wrote:
> Hi all, can you explain me why this simple function works well (i.e. I
> can call the print function using txt) in py
>
>>>> def test(value):
> ...     if value%5: txt = "hello"
> ...     else: txt = "test"
> ...     print(txt)

It's as though you had "PyObject txt;" at the top of the function. The
scope is the function. There's no way (afaik) to make a variable be
local to a portion of the function - that's a feature that has to be
sacrificed to the simplicity of not declaring variables.

In my opinion it's better to declare them, except in interactive code
(eg IDLE or just typing "python"). But Python isn't that.

Chris Angelico
-- 
http://mail.python.org/mailman/listinfo/python-list

Reply via email to