这段代码的目的是交换变量 `a` 和 `b` 的值。让我们逐步分析代码执行情况:
```python
a = 1
b = 2
temp = b # temp 现在等于 2
b = a # b 现在等于 1
a = temp # a 现在等于 2
```
经过以上步骤,变量的值如下:
- `a` 最终值为 2
- `b` 最终值为 1
- `temp` 作为临时变量,参与了值的交换,但最终其值为 2,不再使用
所以,代码执行结束后,变量 `a` 的值是 2。因此,正确答案是 **A: 2**。
这种使用临时变量 `temp` 的方法是一个经典的值交换方法,确保在交换过程中不丢失数据。