Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/variables/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 3.x a,b=1,2期间内存是如何使用的?_Python 3.x_Variables - Fatal编程技术网

Python 3.x a,b=1,2期间内存是如何使用的?

Python 3.x a,b=1,2期间内存是如何使用的?,python-3.x,variables,Python 3.x,Variables,我好奇地想知道: a = 0 a, a = a + 1, a + 1 print(a) 将打印1或2。输出为1,但我无法真正解释为什么会这样。在这样的例子中,内存是如何工作的?每个赋值都是单独计算的,而不是按顺序计算的,因为右侧首先作为元组计算,然后解包 就记忆而言,与写作没有太大区别 a = 0+1 a = 0+1 问题标题与代码不匹配…元组(a+1,a+1)被计算为(1,1),然后它将每个元组分配给指定的变量,因此它将a分配两次。

我好奇地想知道:

a = 0
a, a = a + 1, a + 1
print(a)

将打印1或2。输出为1,但我无法真正解释为什么会这样。在这样的例子中,内存是如何工作的?

每个赋值都是单独计算的,而不是按顺序计算的,因为右侧首先作为元组计算,然后解包

就记忆而言,与写作没有太大区别

a = 0+1
a = 0+1

问题标题与代码不匹配…元组
(a+1,a+1)
被计算为
(1,1)
,然后它将每个元组分配给指定的变量,因此它将
a
分配两次。