2024-04-25 23:02:43 发布
网友
这两者之间有什么区别:
a, b = b, a+b
还有这个:
a = b b = a+b
我试着遵循文档中的示例,第一种形式(多重赋值语法)对我来说似乎很复杂。我试着用第二个例子来简化它,但结果不一样。很明显,我把第一句话解释错了。我错过了什么?你知道吗
多重赋值在更改左侧的任何值之前,计算右侧所有的值。你知道吗
换句话说,区别在于:
a = 1 b = 2 a = b # a = 2 b = a + b # b = 2 + 2
与此相比:
a = 1 b = 2 a, b = b, a + b # a, b = 2, 1 + 2
另一种思考方式是,它相当于构造一个元组,然后再次解构它(实际上就是这样,除非没有显式的中间元组):
a = 1 b = 2 _tuple = (b, a+b) a = _tuple[0] b = _tuple[1]
多重赋值在更改左侧的任何值之前,计算右侧所有的值。你知道吗
换句话说,区别在于:
与此相比:
另一种思考方式是,它相当于构造一个元组,然后再次解构它(实际上就是这样,除非没有显式的中间元组):
相关问题 更多 >
编程相关推荐