python中的對象


在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會在程序的不同部分共享對象,以便節約內存

 

未完!

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM