python中a* b是什么意思_python中a, b = a, a + b这条语句是如何执行的?

a,b=b,a+b,这条语句在"理解"上还是与C语言有些差别的。

在Python中,可以做下面的方式理解:首先,把等号右边的算式分别算完再说,然后按照一一对应的关系把值赋给等号左边的变量,也就是a=b的值,b=a+b的值。

等号右边第一个算式的值赋给等号左边第一个变量,以此类推。

举一个循环的例子说明一下更容易理解了:初始a=1,b=2。计算a,b=b, a+b。循环计算4次。

第(1)次:分别计算等式右边,b=2,a+b=1+2=3,后左边赋值a=2,b=3。

第(2)次:分别计算等式右边,b=3,a+b=2+3=5,后左边赋值a=3,b=5。

第(3)次:分别计算等式右边,b=5,a+b=3+5=8,后左边赋值a=5,b=8。

第(4)次:分别计算等式右边,b=8,a+b=5+8=13,后左边赋值a=8,b=13。

在python中就不用开发者去想着设置中间变量来存储计算结果再赋值的过程了,简化了编程的复杂性。 变量互换时,只需:a,b=b,a。这么一句话就可以了。

在做“斐波那契数列”计算时,a,b=b,a+b。实现就显得特别简单了。 同时,三个变量也是也可以的,如:a,b,c=b,a+b,a+b+c。

样例:

右边的 a, a+b 本质上会返回一个tuple ,元组里面的值先计算出来,然后这个左边的a, b 会分别赋值为这个tuple里的第一个和第二个。

>>> a=1

>>> b=2

>>> c=a,a+b

>>> print c---这里 c=(1,3)

(1, 3)

>>> print type(c)

>>> print id(a)

8895592

>>> print id(b)

8895568

>>> print id(c)

139863933153648

>>>

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值