Python從設計之初就是一門物件導向的語言,它有一個重要的概念,就是一切皆物件。
Java雖然也是物件導向程式設計的語言,但是血統沒有Python純正。例如Java的八種基本資料型別之一int,在持久化的時候,就需要包裝成Integer類別物件。但在python中,一切皆對象。數字、字串、元組、列表、字典、函數、方法、類別、模組等等都是對象,包括你的程式碼。(推薦學習:Python影片教學)
物件的概念
究竟何謂物件?不同的程式語言以不同的方式定義“物件”。在某些語言中,它意味著所有物件必須有屬性和方法;在其他語言中,它意味著所有的物件都可以子類化。
在Python中,定義是鬆散的,某些物件既沒有屬性也沒有方法,而且不是所有的物件都可以子類別化。但Python的萬物皆物件從感性上可以解釋為:Python 中的一切都可以賦值給變數或作為參數傳遞給函數。
Python 的所有物件都有三個特性:
身分:每個物件都有一個唯一的身分來識別自己,任何物件的身分都可以使用內建函數id() 來得到,可以簡單的認為這個值是該物件的記憶體位址。
>>> a = 1 >>> id(a) >>> 26188904 # 身份由这样一串类似的数字表示
類型:物件的類型決定了物件可以保存什麼類型的值,有哪些屬性和方法,可以進行哪些操作,遵循怎樣的規則。可以使用內建函數 type() 來查看物件的類型。
>>> type(a)>>> type(type) #万物皆对象,type 也是一种特殊的对象 type
值:物件所表示的資料
>>> a 1
"身份"、"類型"和"值"在所有物件建立時被賦值。如果物件支援更新操作,則它的值是可變的,否則為唯讀(數字、字串、元組等均不可變)。只要物件還存在,這三個特性就一直存在。
物件的屬性:大部分 Python 物件有屬性、值或方法,使用句點(.)標記法來存取屬性。最常見的屬性是函數和方法,有些Python 物件也有資料屬性,如:類別、模組、檔案等
更多Python相關技術文章,請造訪Python教學欄位進行學習!
以上是python中什麼是對象的詳細內容。更多資訊請關注PHP中文網其他相關文章!