 <p>The line of code <code>num1, num2 = num2, (num1 + num2)</code> is assigning two variables at once. <code>num1</code> gets the old value of <code>num2</code>, while <code>num2</code> gets the new value <code>(num1 + num2)</code>.</p> <p>Having multiple assignments on a single line of code allows you to do both operations without needing to use a temporary variable. For example, this won't work:</p> <pre><code>num1 = num2 num2 = (num1 + num2) </code></pre> <p>because <code>num1</code> has been overwritten with a new value before the addition step, so <code>num2</code> will be assigned the wrong value. The one-line version is equivalent to:</p> <pre><code>temp = (num1 + num2) num1 = num2 num2 = temp </code></pre> <p>For reference, this is called <a href="https://en.wikipedia.org/wiki/Assignment_(computer_science)#Parallel_assignment" rel="nofollow"><strong>parallel assignment</strong></a> or sometimes <strong>multiple assignment</strong>.</p>