Discuss / Python / 请问a,b=b,a+b赋值为啥没有先后顺序和数值覆盖

请问a,b=b,a+b赋值为啥没有先后顺序和数值覆盖

Topic source

赋值语句:

a, b = b, a + b 相当于:

t = (b, a + b) # t是一个tuple a = t[0] b = t[1]

分开写其实是 a=b b=a+b 给b赋值时a的值不是已经变了吗,实际不变成了b=2b,为什么还按照原值赋值?

廖雪峰

#2 Created at ... [Delete] [Delete and Lock User]

t = (b, a + b) # t是一个tuple

这一行执行完t的两个元素的值和a,b已经无关了

对对,有顺序,t就是中间临时变量,先计算值再依次赋值


  • 1

Reply