Python 解释本规范的目的,并解释其如何达到目的

Python 解释本规范的目的,并解释其如何达到目的,python,Python,解释本规范的目的,并逐行说明其实现目的的方式: def mystery(n): a,b = 0,1 while a < n: print(a) a,b = b,a + b 它的意思是a=b和b=a+b吗 答案是:是的 这些是斐波那契数:当你有a,b=b,a+b时,你可以这样把它放几行: a, b = = b a+b 这与: a = b b = a + b 除了b=a+b使用的是a的旧值。这是因为直到评估完成后才定义变量。在顶端也是一样,只是

解释本规范的目的,并逐行说明其实现目的的方式:

def mystery(n):
   a,b = 0,1
   while a < n:
      print(a)
      a,b = b,a + b
它的意思是a=b和b=a+b吗

答案是:是的


这些是斐波那契数:

当你有
a,b=b,a+b
时,你可以这样把它放几行:

a,  b
=   =
b  a+b
这与:

a = b
b = a + b

除了
b=a+b
使用的是
a
的旧值。这是因为直到评估完成后才定义变量。在顶端也是一样,只是在顶端我们并不真正需要它。我们可以说
a=0
b=1
,并且不会遇到任何意外行为,但是在
a,b=b,a+b
的情况下,如果我们先定义一个变量,然后再定义另一个变量,这是行不通的。评估需要在两个定义之前进行,否则它将不正确。

这是指a=b和b=a+b吗?答案是:是输出中的下一行是
13
,但它大于10,因此
while
循环将在打印之前退出。我认为,由于这是一个非常常见的python语句,它不需要响应。所以我只是添加了一条评论。
a = b
b = a + b