python source tuple - yaokun123/php-wiki GitHub Wiki

一、夺命4连问

1.1、为什么空元组内存地址一样?

>>> v1 = ()
>>> id(v1)       // 4544163920

>>> v2 = ()
>>> id(v2)      // 4544163920

>>> v3 = ()
>>> id(v3)      // 4544163920

1.2、为什么元组转换为元组内存地址一样?

>>> v1 = (11,22,33)
>>> id(v1)      // 4378371568
>>>
>>> v2 = tuple(v1)
>>> id(v1)      // 4378371568
>>> id(v2)      // 4378371568

1.3、为什么列表转换为元组,元素的内存地址一样?

>>> v1 = [11,22,33]
>>> id(v1[0])    // 140216853639128
>>>
>>> v2 = tuple(v1)
>>> id(v2[0])   // 140216853639128

1.4、为什么销毁元组后,再创建元组内存地址有时相同,有时不同呢?

>>> v1 = (11,22,33)
>>> id(v1)        // 4387034608
>>> del v1
>>> v2 = (1,2,3)
>>> id(v2)        // 4387034608(相同)


>>> v3 = (1,2,3)
>>> id(v3)        // 4387035168
>>> del v3
>>> v4 = (1,2)
>>> id(v4)        // 4386957144(不同)