1. 程式人生 > >【美妙的Python之三】Python 物件解析

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

美妙的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++等語言。須要很多其它的空間消耗與效能損耗。