在python中一切都是對象,每個對象都有三個屬性分別是,(id)身份,就是在內存中的地址,類型(type),是int、字符、字典(dic)、列表(list)等,值,
例如: a = 12 就是用12這個類型為整數的,值為12,在內存空間中創建了一個空間(這個空間會用一個地址來表示,就是id),當對象被創建后,如果該對象的
值可以被更改,那么就稱之為可變對象(mutable),如果值不可更改,就稱之為不可變對象(inmutable),如果某個對象包含對其他的對象的引用的話,就稱之
為容器或者集合。例如 我創建一個 字典類型的對象並且被b引用 b = list() 我再創建一個字典類型的對象,並且被c 引用 c = dic() 此時b應用該字典類型的
對象后 b['a'] = c 那么此時的b就是個集合。
#is用來比較兩個對象的id是不是相同的,測試身份的
if a is b: return a and b have the same id
#比較值
if a == b:
return a==
b
#比較類型
if type(a)== type(b):
return 類型相同
引用計數與垃圾回收,所有對象都有引用計數。 a = 22 #創建一個值為22的對象並且被a引用 b=a #對象22的引用計數會增加 c = [] c.append(b) #對象22的引用計數增加 減少引用計數的操作 del a #減少引用計數 b = 56 #減少引用計數 c[0] =33 #減少引用計數 獲得引用計數 >>>a = 22 >>>import sys >>>sys.getrefcount(a) 7 大多數情況下,引用計數會比我們想象的多很多,因為對於不可變的對象(短的字符串和小的數值)會被緩存,pyth會在程序的不同部分共享對象,以便節約內存
未完!