Python 的數據模型

  • %r、str.format 中的 !r、v(一個對象)都是調用該對象的 repr 方法
    print(object) 調用的是 object 的 str 方法
  • 不存在 str 方法,則調用 repr
    不存在 bool 方法,則調用 len
    不存在 iadd 方法,則調用 add
  • len 不是普通的方法
    保持內置類型的效率和保持語言一致性之間找到了一個平衡點
    該方法的背后是 CPython 直接從一個 C 結構體讀取對象 PyVarObject 的屬性 ob_size,這樣保持內置類型的效率。
    python 將該屬性封裝成方法,使我們自定義的數據類型可以表現的像內置類型一樣,這樣保證語言的一致性
  • 對象模型、數據模型
    對象的屬性
  • 元對象協議
    元對象指構建語言本身來講很重要的對象
    協議可以看作接口
    元對象協議是對象模型的同義詞,都是構建核心語言的 API
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • 1. Java基礎部分 基礎部分的順序:基本語法,類相關的語法,內部類的語法,繼承相關的語法,異常的語法,線程的語...
    子非魚_t_閱讀 31,738評論 18 399
  • 構思題目的時候我本來很篤定購買人生中第一套房一定是我最有成就感的事,但是仔細思考其中緣由卻讓我改變了主意,買房是一...
    MadelineM閱讀 366評論 0 0
  • 10月15日,我參加完當天Better Me大本營組織的海峰老師的DISC分享活動,立即馬不停蹄,和IP營一期伙伴...
    彩嘉閱讀 568評論 1 0
  • 二零一六年春,我被組織安排扶貧駐村去了毗鄰焦作的一個村落。午飯后推窗望外空曠如野,日夜伴隨我們的只有狗吼鳥鳴,想找...
    攬月吟風閱讀 194評論 0 1
  • 入冬的清晨是格外寧寂的,尤其像這樣淅淅瀝瀝下著小雨的,宿舍外只有北頭村落里隆隆的機械聲,據說那兒要造個養豬場。還有...
    逸之閱讀 510評論 16 3