zoukankan      html  css  js  c++  java
  • python中a+=a与a=a+a的区别

    python中使用a = a + a创建了一个新的变量a,覆盖了之前的变量a。而使用a += a 则是直接对原变量 a 进行操作。下面通过几个例子进行说明:

    1.
    a = [1,2,3]
    print(id(a))#打印内存地址
    a+=a
    print(a)
    print(id(a))
    输出结果:
    1238454553032
    [1, 2, 3, 1, 2, 3]
    1238454553032
    2.
    a = [1,2,3]
    print(id(a))
    a = a + a
    print(a)
    print(id(a))
    输出结果:
    1238454620232
    [1, 2, 3, 1, 2, 3]
    1238454553032
    

      

    以上两个只看结果没啥区别,但看内存地址还是可以看出区别来的,接下来继续看:

    3.
    a = [1,2,3]
    print(id(a))
    def add(arr):
        arr += arr
        print(id(a))
    
    add(a)
    print(a)
    print(id(a))
    
    输出结果:
    1238454620232
    1238454620232
    [1, 2, 3, 1, 2, 3]
    1238454620232
    

      

    3.
    a = [1,2,3]
    print(id(a))
    def add(arr):
        arr = arr + arr
        print(id(arr))
    
    add(a)
    print(a)
    print(id(a))
    
    输出结果:
    1238454553032
    1238454620232
    [1, 2, 3]
    1238454553032
    

      两者区别: =的使用会直接创建一个新的变量,而+=则是直接对原变量进行操作。

  • 相关阅读:
    Hadoop
    Mapreduce
    ssh原理
    HDFS
    Centos
    创建jira插件
    新型的领导者是一名推动者,而不是一名发号施令者
    上善若水,虚怀若谷
    GoAhead 嵌入式web
    Eclipse基金会
  • 原文地址:https://www.cnblogs.com/wxcx/p/12547997.html
Copyright © 2011-2022 走看看