美文网首页
【a, b = b, a +b】Python

【a, b = b, a +b】Python

作者: RayRaymond | 来源:发表于2020-04-08 09:17 被阅读0次

生成斐波那契数列中存在一个不太常见的赋值方式 a, b = b, a+b

# Fibonacci series
def fib_loop_while(max):
    a, b = 0, 1
    while max > 0:
        a, b = b, a + b
        max -= 1
        yield a

for i in fib_loop_while(10):
    print(i)

在上面的代码中,a, b = b, a+b不能换成 a = bb = a + b

过程拆解

先计算 = 左边的内容,也就是 ba + b。然后再把结果赋值给 ab
这其中的赋值是通过元组 tuple 拆分完成的。比如在 a, b = b, a 中,拆分元组(b,a)分别赋值给 ab 完成 a b 的交换。

总结

a, b = b, a + b

可以等效为:

temp = a + b 
a = b
b = temp

相关文章

  • 【a, b = b, a +b】Python

    生成斐波那契数列中存在一个不太常见的赋值方式 a, b = b, a+b 在上面的代码中,a, b = b, a+...

  • python a,b=b,a+b

    a,b=b,a+b 可以拆成 a = b和b = a + b 也就是说等号左边的第一个位置的等于等号右边的第一个位...

  • python的 a,b=b,a+b 和 a=b b=a+b 的区

    Python中a,b = b , b +a 与 a = b b = a +b 输出的结果是不同的 发现新大陆了,是...

  • 编程字典-Python id 运算符实例

    python id 运算符 #!/usr/bin/python a = 20 b = 20 if ( a is b...

  • python 浅copy和深copy

    importcopy b1=["python",1,[999,"java"]] b2=b1.copy() b2[2...

  • TRICKS in PYTHON

    一:连续比较 Python 支持连续比较,'a' < 'b' < 'c' 相当于 'a' < 'b' and 'b...

  • Bā Bá Bǎ 爸

    七岁那年的我对什么都很好奇,却唯独不好奇巴掌。 但它还是呼在了我的脸上。 横竖都是一百八的人的巴掌像个充血的铁钯。...

  • 高级用法

    第一种 在Python中, and和or的逻辑'A' and 'B'返回'B','A' or 'B'返回'A'。 ...

  • B b

    50.sich(+für+bei)bedanken 表示感谢 51. den Bedarf an etw.(D)d...

  • B·B

    你遮住我的双眼,告诫我, 外面的世界很黑暗, 我只有在你的庇护下才能成长。 我嘴唇被针缝锁, 说不出一句话, 一天...

网友评论

      本文标题:【a, b = b, a +b】Python

      本文链接:https://www.haomeiwen.com/subject/cekzphtx.html