美妙的Python之Python對象
簡而言之: Python 是能你無限驚喜的語言,與眾不同。
Python對象概念的理解,是理解Python資料存放區的前提。Python使用對象來儲存資料,構造任何類型的值都是對象。
1.Python 對象:
Python的對象有3個屬性: 標識:每個對象都有一個唯一的標識,通過 id( ) 可以查看對象的標識。 類型:對象的類型,指明該對象可以儲存的資料類型,通過 type( ) 可查看。 值 :Object Storage Service資料的值。 如: 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的Object Storage Service資料機制:實質上是Python封裝了記憶體位址,這種封裝的優勢在於Python可以實現自動的記憶體管理等功能,減輕開發人員的負擔,代價則是Python相對於C/C++等語言,需要更多的空間消耗與效能損耗。