优秀的编程知识分享平台

网站首页 > 技术文章 正文

在python中a, b = b, a+b是如何计算的

nanyue 2025-02-15 00:27:43 技术文章 7 ℃

今天无意中看到这个代码

a, b = b, a+b

说实话我是懵逼了。理解了大概半个小时才基本了解了他的原理。

比如我们在做一个循环的时候,我要做到的效果是:

两个数一直相加得出结果来了之后再次相加:

例如:1,2这两个数相加等于3

第二次相加就是2,3两个数相加等于5

第三次就是3,5两个数相加等于8

怎么让python结算出来呢,

还是比较简单的:

a=1
b=2
print(a)
while b<10:
    print(b)
    m=a
    n=b
    b=m+n
    a=n

这里为什么要引入m和n两个变量呢,因为不引入没办法计算:比如:

a=1
b=2
print(a)
while b<10:
    print(b)
    a=b#因为第二轮是2和3相加,a还是1,所以必须让a=b,也就是a先换成2
    b=a+b#但是这里又出错了,因为a已经变成2了,所以b就等于2+2了,就是4了

但是如果把b=a+b放到a前面也不行,因为先加了的话a=b的话a就是3了,也不对,所以必须引入m,n两个变量先把a和b的值存起来才能相加计算。

这个时候

a, b = b, a+b

就比较管用这里的意识啰嗦的讲就是:

a=1,b=2

首先可以简化的写成a,b=1,2就是分别赋值

那么a, b = b, a+b,也是分别赋值,而且没有先后顺序的赋值,这里的意识就是a=b所以a=2.b=a+b(这里的a还是没有运算之前的a就是=1)就相当于b=1+2=3

所以他是先把右边的计算掉,然后分别赋值给左边。我讲这么啰嗦,应该都听懂了。

反正我勉强懂了!

最近发表
标签列表