首页 > 解决方案 > 有趣的代码。它是如何工作的?

问题描述

我喜欢浏览 stackovorflow 以获取 Python 代码的瑰宝。昨天看到这个小插曲,让我很困惑。

有人可以解释以下代码是如何工作的,它是什么类型的代码,以及在哪里可以找到有关使用它的更多信息?

我试过搜索这种东西,但不知道它是什么动物,搜索没有返回任何有用的东西。

# Fibonacci Series

n = 1000
a, b=0, 1
while a<n:
    print(a,end=" ")
    a, b=b, a+b
print()

让我感到困惑的是 "a, b=0, 1" 和 "a, b=b, a+b"

它们似乎是某种默认数据类型的格式,但是 type() 命令在它上面窒息而死。篡改结构可能会将其送入无限循环或导致程序崩溃。尝试将部分拆分为单独的行,或用分号替换逗号也是如此。

它是某种形式的python理解吗?

我喜欢这个东西!感谢您提供的任何见解。

标签: pythonpython-3.x

解决方案


您提到的示例来自Python 文档

a, b = 0, 1意味着a = 0b = 1

虽然a, b = b, a + b意味着a = bb = a + b

重要的是要注意使用b = a + b之前的值a,因为当您在同一行中进行多个分配时,它就像它们同时执行一样工作(即使实际上它们不是)。


推荐阅读