python對象分類


1 python對象分類

所有的Python對象都擁有三個特性:身份,類型和值

  • 身份: 每一個對象都有一個唯一的身份標識自己。任何對象的身份可以使用內建函數id()來得到。這個值可以被認為是該對象的內存地址
  • 類型: 對象的類型決定了對象可以保存什么類型的值,可以進行什么樣的操作,以及遵循什么樣的規則。你可以內建type()查看對象的類型
  • 值:對象表示的數據項

對象屬性:某些對象有屬性、值或相關聯的執行代碼。python用句點(.)標記法來訪問屬性。屬性包括相應對象的名字。最常用的屬性是函數和方法

 

2 對象類型

標准類型(Numeric, Sequence, Mapping)

  • 數字(分為幾個子類型,其中二個是整形)
  • Interger 整型
  • Long integer 長整型
  • Boolean 布爾類型
  • Float point real number 浮點型
  • Complex number 復數型
  • String 字符串
  • List 列表
  • Tuple 元組
  • Dictionary 字典

其他類型對象(Internal, ...)

  • 類型
  • Null 對象(None)
  • 文件
  • 可變/不可 集合
  • 函數/方法
  • 模塊

類型對象和type類型對象(Fundamental, ...)

對象的一系列固有行為和特性都是事先定義好,從這個角度來說,類型正是保存這些信息的最佳位置。描述一種類型所需要的信息不可以用一個字符串來搞定,所以類型不能是一個簡單的字符串,也不能和數據保存在一起,所以用將類型定義成一個對象是最好的選擇。

類型對象和type類型對象

對象的一系列固有行為和特性都是事先定義好,從這個角度來說,類型正是保存這些信息的最佳位置。描述一種類型所需要的信息不可以用一個字符串來搞定,所以類型不能是一個簡單的字符串,也不能和數據保存在一起,所以用將類型定義成一個對象是最好的選擇。

>>> type(2)
<type 'int'>
>>> type(int)
<type 'type'>
>>> type(type(1))
<type 'type'>

通過調用type()函數,能夠得到特定對象的類型信息。從上述代碼中我們可以知道,所有類型對象的類型都是type,它是所有python類型的根和所有python標准類型的默認元類(metaclass).

所有標准對象均可用於布爾測試,同類型的對象之間可以比較大小,每個對象天生具有True值或False值,空對象,值為0的任何數字或者Null對象None的布爾值都是False。下列對對象的布爾值是False:

    • None
    • False(布爾類型)
    • 所有的值為零的數
    • 0(整型)
    • 0.0 (浮點型)
    • 0L (長整型)
    • 0.0+0.0j (復數)
    • ''空字符串
    • [] 空列表
    • {} 空字典
    • () 空元組
      值不是上面列出來的任何值的對象的布爾值都是True

3 python對象特征

  • 數字(整數,浮點數,二進制,分數等) 
    支持加法和乘法等
  • 序列(字符串,列表,元組) 
    支持索引,分片和合並
  • 映射(字典) 
    支持通過鍵的索引等 
  • 對象的類型告訴Python去執行什么樣的任務。 
  • 集合是自成一體的一個分類(不會把鍵值映射到值,也沒有逐位的排序順序)。

1.不可變類型(數字,字符串,元組,不可變集合):不支持原處修改

2.可變類型(列表,字典,可變集合):可以通過操作原處修改,而不用創建新的對象

一般來說,不可變類型具有某種完整性,保證這個對象不會被程序的其他部分改變

 

參考:

Python 對象分類

python對象類型分類

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM