【美妙的Python之三】Python 物件解析

Love_Hulidear發表於2014-05-30

美妙的Python之Python物件


        簡而言之: Python 是能你無限驚喜的語言,與眾不同

        Python物件概念的理解,是理解Python資料儲存的前提。Python使用物件來儲存資料,構造任何型別的值都是物件。

        1.Python 物件

        Python的物件有3個屬性
        標識:每個物件都有一個唯一的標識,通過  id(  )  可以檢視物件的標識。
        型別:物件的型別,指明該物件可以儲存的資料型別,通過  type(  )  可檢視。
           :物件儲存資料的值。
        如: 
a = 1
a = 3
        Python內部的實現機制:a=1,Python先建立一個整形物件,將該整形物件的值設定為1,最後該物件賦給變數a。a=2,Python再建立一個新的整形物件,將該物件的值設定為2,最後將該物件賦給變數a。
        Python的記憶體管理:每個物件都有一個引用計數器,物件賦值給變數名時引用計時器+1,當一個引用銷燬時,引用計數器 - 1,當引用計數器為0,也即所有引用都不存在時,系統會銷燬這個物件。

        2.變數名與物件

        Python基於物件的儲存資料機制,變數名與物件的關係不同於C/C++變數名與記憶體地址。Python中,通過變數名,不能改變物件的值,而是變數名指向了新的物件。C/C++中,變數名重新賦值,會改變對應記憶體地址的值。      
        Python中,變數名可以指向任何型別的物件,允許改變一個變數名指向新的不同型別的資料物件。C/C++中,一個變數名有其特定的資料型別。

       3.Python標準型別

        Python語言提供了標準的資料型別,資料儲存基於物件機制,上面關於物件的介紹能加深我們隊Python資料的理解。
  • 數字
  • 字串
  • 列表
  • 元組
  • 字典
        這些Python標準型別,隨後的章節會將深入的介紹。 
        Python的物件儲存資料機制:實質上是Python封裝了記憶體地址,這種封裝的優勢在於Python可以實現自動的記憶體管理等功能,減輕開發人員的負擔,代價則是Python相對於C/C++等語言,需要更多的空間消耗與效能損耗。
        

        
        


相關文章