Joon wrote:
> 
>  >>> # Fibonacci series:
> ... # the sum of two elements defines the next
> ... a, b = 0, 1
>  >>> while b < 10:
> ...       print b
> ...       a, b = b, a+b
> ...
> 1
> 1
> 2
> 3
> 5
> 8
> 
>  >>> a, b = 0, 1
>  >>> while b < 10:
>       print b
>       a = b
>       b = a+b
>       
> 1
> 2
> 4
> 8
> 
> Why a, b = b, a+b isn't a = b; b = a+b ?

It's actually equivalent to:

temp = (b, a+b)
a = temp[0]
b = temp[1]

The temporary tuple object is created first, with the old values of a 
and b. Then a and b are reassigned. The value of a doesn't change until 
*after* a+b is calculated.

-- 
Robert Kern
[EMAIL PROTECTED]

"In the fields of hell where the grass grows high
  Are the graves of dreams allowed to die."
   -- Richard Harter

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

Reply via email to