Python while循环。这个结构叫做什么?

时间:2014-05-30 20:37:48

标签: python data-structures while-loop

在Literate Programs网站上,我查看了GCD算法的Python代码。

def gcd(a,b):
        """ the euclidean algorithm """
        while a:
                a, b = b%a, a
        return b

身体发生了什么?表达评估?它是另一种结构的压缩形式吗?

3 个答案:

答案 0 :(得分:2)

这里有两件事:

            a, b = b%a, a

首先,使用内容(b%a, a)创建元组。然后,该元组的内容为unpacked,并分配给名称ab

答案 1 :(得分:1)

看起来像是简写:

while a > 0:
    temp = a
    a = b%a
    b = temp
return b

答案 2 :(得分:0)

a正在收到b%a的结果,而b正在收到a

的值

与以下内容相同:

while a > 0:
    tmp = a
    a = b%a
    b = tmp
return b

有关切换变量的更多信息,请参阅此文章:Is there a standardized method to swap two variables in Python?