1. 程式人生 > >Day3 變數的三大特徵,垃圾回收機制,可變型別和不可變型別的簡單表述

Day3 變數的三大特徵,垃圾回收機制,可變型別和不可變型別的簡單表述

1. 變數值的三個特徵:
id: 反映的是記憶體地址
type:資料型別
值:
age=18
print(id(age))
print(type(age))
print(age) 總結:
1.1. id相同,值一定相同
1.2. 值相同,id可以不同 >>> x='name:egon age:18***'
>>> y='name:egon age:18***'
>>> id(x)
2847698422856
>>> id(y)
2847698422928
'''
x=11111111111111111111111111231231231231222222222222 y=11111111111111111111111111231231231231222222222222  print(id(x))
 print(id(y))           2. Cpython直譯器的垃圾回收機制
什麼是垃圾:當一個值身上沒有人繫結任何變數名(該值的引用計數=0)時,該值就是一個垃圾 注:
引用計數增加
 age=18 # 18的引用計數等於1
 x=age  # 18的引用計數等於2
 print(age)
 print(x)
引用計數減少
age=19 #18的引用計數等於1
print(age)
del x #18的引用計數等於0       3,.可變型別與不可變型別
可變型別: 值改變,id不變,證明就是在改變原值
不可變型別:值改變,id也變,證明根本不是在改變原值,是建立了新值,原值就是不可變型別
 x=10
print(id(x))
x=11
print(id(x))

l=['a','b','c']
print(id(l))
l[0]='A'
print(id(l))
# print(l)   4, is 與 ==
 ==:值是否相等
 is:id是否相等