元组分配顺序

问题描述

让我们采用以下斐波那契生成器:

def fib():
    prevIoUs = 0
    current = 1
    tmp = None
    while True:
        tmp = current + prevIoUs
        prevIoUs = current
        current = tmp
        print (current)
        input('...')

我使用 tmp 作为一种在分配下一个值之前存储当前值的方法。另一种方法是使用元组分配,我什至不需要 tmp:

def fib():
    prevIoUs = 0
    current = 1
    while True:
        current,prevIoUs = current+prevIoUs,current
        print (current)
        input('...')

我想知道是否有人可以解释评估元组分配的“顺序”。是否首先评估右侧的所有内容? (看起来是这样)或者单个术语以某种方式绑定并“一起”分配(例如,首先分配 current=current+prevIoUs;然后是 prevIoUs=current)。看起来前一种方法是它的工作方式,但我想知道是否有人可以明确解释它是如何工作的,并且可能指出语言文档中完成的位置(或者甚至是 C 代码,如果在一个一个地方)。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)