a. 二者输出结果肯定不相同。
b. 第一个利用C/C++的思维进行思考即可;第二个是利用python中的元组打包和序列解包的思维思考。
假设a为10,b为8,示例解析:
a. a = a + b b = a - b
a = 10
b = 8
print("Add first")
a = a + b #a = 10 + 8
print("a = ", a)
b = a - b #b = 18 - 8
print("b = ", b)
print()
a = 10
b = 8
print("Minus first")
b = a - b #b = 10 - 8
print("b = ", b)
a = a + b #a = 10 + 2
print("a = ", a)
print()
输出结果:
Add first
a = 18
b = 10
Minus first
b = 2
a = 12
b. a, b = a + b, a - b
该等式是先将等号右边的计算结果
先打包成一个
临时元组,然后将该临时元组进行
列表解包,分别赋值给a和b。
a = 10
b = 8
print("Add first")
result = a + b, a - b
a, b = a + b, a - b
print("a = ", a, " b = ", b)
print("result:", result)
print()
a = 10
b = 8
print("Minus first")
result = a - b, a + b
a, b = a - b, a + b
print("a = ", a, " b = ", b)
print("result:", result)
print()
输出结果:
Add first
a = 18 b = 2
result: (18, 2)
Minus first
a = 2 b = 18
result: (2, 18)