f1, f2 = f2, f1 + f2 不能拆成 f1 = f2 ; f2 = f1 + f2 。
原因:f1 = f2 ; f2 = f1 + f2 中第二个式右边的 f1 会使用第一个式子赋值更新后的值,但是f1, f2 = f2, f1 + f2 用的是初始赋值,也即这个式子 f2 的结果不依赖于 f1 = f2 计算的 f1 值,而是使用的 f1 = f2 赋值以前给 f1 的值。简单的说就是f1, f2 = f2, f1 + f2 中右边的值全是这个式子计算以前的初始值,但是拆成两个语句的话出现了先后执行的顺序问题,此时的情况就完全不一样了。
如果是f1, f2 = f2, f3 + f2这样的式子,也即拆分后的执行的第二个式子 f2 = f3 + f2 的运行结果不会受到第一个式子 f1 = f2执行结果的影响,那么拆成 f1 = f2 ; f2 = f3 + f2 是完全没问题的。
用Python写个实际的例子来进行说明
f1 = 1 f2 = 2 f1, f2 = f2, f2 + f1 print(f1, f2) f1 = 1 f2 = 2 f1 = f2 f2 = f2 + f1 print(f1, f2)
上式的运行结果为:
2 3
2 4
显然,通过实际程序的运行结果可知,f1, f2 = f2, f1 + f2 也是不能拆成 f1 = f2 ; f2 = f1 + f2 的。
如果我的回答对你有帮助,那么我很庆幸你在看这篇小博客的时候并不算是浪费你的时间。赠人玫瑰,手留余香,祝你生活愉快。
继续阅读与本文标签相同的文章
下一篇 :
5G商用任重道远
-
带你校园一日游 雷诺自动驾驶打车测试项目对外揭秘
2026-05-19栏目: 教程
-
我终于搞清楚了和String有关的那点事儿。
2026-05-19栏目: 教程
-
巧用这19条MySQL优化,效率至少提高3倍
2026-05-18栏目: 教程
-
谷歌新品发布会,也是谷歌摄影成果展
2026-05-18栏目: 教程
-
测试开发进阶(三十一)
2026-05-18栏目: 教程
