看代碼:
a=3
id(a)
1871146064b=3
id(b)
1871146064c=3
id©
1871146064id(3)
1871146064
這裏a,b,c和常量3都指向同一內存區
看代碼:id([1,2,3])
4578760id(list([1,2,3]))
52379464list3=[1,2,3]
id(list3)
52379336list4=[1,2,3]
id(list4)
52446792id(list3[0])
1871146000id(list4[0])
1871146000
換作列表時,list3,list4和臨時列表對象[1,2,3]的內存地址不同
再看代碼:id(list3[0])
1871146000id(list4[0])
1871146000
帶對於列表成員,如果值相同,則內存地址相同,注意:如果成員爲列表等複合對象,則內存地址也不同
對於不可變類型,如元組,現象一樣,看代碼:tuple1=(1,2,3)
tuple2=(1,2,3)
id(tuple1)
52415152id(tuple2)
50155096
再看代碼:list1=[1,2,3]
list2=list1
id(list1)
52315848id(list2)
52315848
如果一個變量去初始化另一個變量,則指向的地址是一樣的!!!