Ezra Taylor wrote:
> Hello Kent:
>                     How can we limit this functionality so that python 
> behaves similar to other know languages.  Maybe I should be asking what 
> are the benifits of allow variables not being bound to a block of code.

Why is this a problem? Don't try to turn Python into Java, you might as
well stay with Java.

One advantage is, you can define a variable in a conditional block or a
try block without having to declare it first. For example:
if something:
   x = 3
else:
   x = 5

or
try:
   x = foo()
finally:
   cleanup()

# do something with x

It has long annoyed my that in Java these snippets would have to be
prefixed with
int x;

Kent
> 
> Ezra
> 
> On 4/24/07, *Kent Johnson* <[EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]>> 
> wrote:
> 
>     ammar azif wrote:
>      > Something in python disturbs me ,
>      >
>      > when i write a for loop,
>      >
>      > i am able to access the variable declared in that loop after the loop
>      > finishes which i am not able to do in languages like c/c++ or
>     java. Is
>      > it different in python?
> 
>     Yes, it is different. In Python a block is not a scope. Names bound
>     within the block, including the loop variable, are accessible outside
>     the block.
> 
>     Kent
>     _______________________________________________
>     Tutor maillist  -  [email protected] <mailto:[email protected]>
>     http://mail.python.org/mailman/listinfo/tutor
> 
> 
> 
> 
> -- 
> Ezra Taylor


_______________________________________________
Tutor maillist  -  [email protected]
http://mail.python.org/mailman/listinfo/tutor

Reply via email to