增广分配操作什么时候表现为就地操作,什么时候不表现?

问题描述

我一直都知道Python增强操作总是执行就地操作。但似乎并非每种情况都如此。当我在integers上应用增广运算时,它不在适当位置。

    var1 = 1234
    print(id(var1))
    var1 = var1 + 4321
    print(id(var1))

    print()

    var2 = 5678
    print(id(var2))
    var2 += 8765
    print(id(var2))

输出:

140272195234704
140272195234928

140272195234736
140272195234896    

但是当我将其应用于列表时,它就位了。

    var1 = [1,2]
    print(id(var1))
    var1 = var1 + [3]
    print(id(var1))

    print()

    var2 = [5,6]
    print(id(var2))
    var2 += [7]
    print(id(var2))

输出:

140461597772992
140461597413184

140461597412480
140461597412480

我的问题是,何时将其用作就地操作,何时不进行? 为什么?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)