Python a, b = b, a +b

python

Solution

In `a, b = b, a + b`, the expressions on the right hand side are evaluated before being assigned to the left hand side. So it is equivalent to:

c = a + b
a = b
b = c

In the second example, the value of `a` has already been changed by the time `b = a + b` is run. Hence, the result is different.

Problem

This is my first question and I started to learn Python. Is there a difference between: ``` a, b = b, a + b ``` and ``` a = b b = a + b ``` When you write it in below example it shows different results. ``` def fib(n): a, b = 0, 1 while a < n: print(a, end=' ') a, b = b, a + b print() fib(1000) ``` and ``` def fib(n): a, b = 0, 1 while a < n: print(a, end=' ') a = b b = a + b print() fib(1000) ```

Original source

Related problems