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