Python學習1:Python對象模型

1. 對象模型

Python中對象是所有數據的抽象。所有Python程序中的值都由對象或者對象之間的關系表示。

2. Python對象的特性

  • identity
  • type
  • value

2.1 identity

Python中每個對象有一個唯一標識identity,一個對象的標識在對象被創建后不再改變。可以認為對象的identity是對象在內存中的地址,其值可以由內置函數id()求得。is操作符可以比較兩個對象的identity是否相同,即兩個對象是否是同一個。

 if a is b:
    print ‘a and b are the same object’

2.2 type

type 是對象的類型,決定了對象保存值的類型、可以執行的操作,以及所遵循的規則。可以使用內置函數type()查看一個對象的類型。因為Python中一切皆是對象,type() 函數返回的也是對象,而不是簡單字符串。

>>> i = 1
>>> type(i)
<type 'int'>
>>> s = "test"
>>> type(s)
<type 'str'>

2.3 value

對象表示的數據。值是可變的,值可變的對象稱為mutable對象,值一經創建不可再變的對象稱為immutable對象。一個對象的可變性由其類型決定,例如 數字, 字符串 和元組是不可變的, 而字典和裂變則是可變的。

3. 對象屬性

有些Python對象有屬性、值或相關聯的可執行代碼,比如方法。Python中使用(.)標記訪問對象屬性。最常用的屬性是函數和方法,一些Python類型還有數據屬性。類、類實例、模塊、復數和文件含有數據屬性。

參考

[1] Python核心編程第二版
[2] data model
[3] Types and Objects in Python

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容