在使用Python的一行中交换两个变量?

在本节中,我们将使用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的值。