在本节中,我们将使用python在一行中交换两个变量。在python中交换两个变量的标准方法非常简单易行-
>>> a = 20;b=30 >>> a 20 >>> b 30 >>> #Swap two variable in one line >>> a, b = b, a >>> a 30 >>> b 20
上面的代码生成a和b的交换值。
Python从左到右评估表达式。但是,在评估分配时,右侧先评估左侧。
这意味着表达式a,b = b,a的以下内容
评估右侧的“ b,a”,也就是说在内存中创建了两个元素的元组。这两个元素是由标识符b和a所指定的对象,它们在程序执行期间遇到指令之前就已经存在。
一旦创建了元组,但尚未对该元组对象进行任何分配,但这不是问题,因为python内部知道它在哪里。
然后评估左侧,即,存储在内存中的元组被分配给左侧,因为左侧由两个标识符a和b组成。为了使第一标识符a(左侧)由元组的第一个元素(即b)分配,而将第二标识符b由元组的第二个要素(即a)分配,对元组进行解包。
简而言之,表达式:“ a,b = b,a”,同时将第一右分配给左第一,第二右分配给左第二,因此交换a和b的值。