python中的交换方法(实现)

以下代码如何在python中工作。

a=input()
b=input()
a,b=b,a    #STATEMENT 1
print(a,b)

语句1是在python堆内存空间中创建第三个变量来交换两个数字,还是使用最佳算法进行交换。

评论
  • {醉相思}
    {醉相思} 回复

    这是交换值的简单字节码操作。观看此演示:

    import dis
    
    code = '''
    a = 1
    b = 2
    a, b = b, a
    '''
    
    dis.dis(code)
    

    Output:

     2           0 LOAD_CONST               0 (1)
                 2 STORE_NAME               0 (a)
    
     3           4 LOAD_CONST               1 (2)
                 6 STORE_NAME               1 (b)
    
     4           8 LOAD_NAME                1 (b)
                10 LOAD_NAME                0 (a)
                12 ROT_TWO
                14 STORE_NAME               0 (a)
                16 STORE_NAME               1 (b)
                18 LOAD_CONST               2 (None)
                20 RETURN_VALUE