python @property

1.描述符

我們首先要搞懂描述符(Descriptor)是什么.

1.1 描述符定義

只要類中有__get__(), __set__(), 和 __delete__()其中之一的方法.那么它就是一個描述符.

1.2 描述符有什么用?

屬性的訪問方式不再像普通對象那樣訪問,普通對象訪問是通過__dict__來實現(xiàn)的(取值,賦值,刪除),而是通過__get__、__set__、__delete__.

為什么__dict__不好呢?

普通的Python對象操作(get,set,delete)屬性時都是在這個對象的__dict__基礎(chǔ)之上進行的。而__dict__有查找順序,基本上就是按照實例,類,父類的順序.這樣其實挺麻煩,好在我們有了描述符,可以不通過__dict__來進行查找.

1.3 描述符怎么實現(xiàn)?

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

推薦閱讀更多精彩內(nèi)容

  • 國家電網(wǎng)公司企業(yè)標準(Q/GDW)- 面向?qū)ο蟮挠秒娦畔?shù)據(jù)交換協(xié)議 - 報批稿:20170802 前言: 排版 ...
    庭說閱讀 11,145評論 6 13
  • 1. Java基礎(chǔ)部分 基礎(chǔ)部分的順序:基本語法,類相關(guān)的語法,內(nèi)部類的語法,繼承相關(guān)的語法,異常的語法,線程的語...
    子非魚_t_閱讀 31,765評論 18 399
  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 134,923評論 18 139
  • 今天是上班的最后一天,通過郵件和各位同事一一道別,收到很多的祝福,業(yè)收到很多的疑問,很多人都不理解,為什么我...
    Lisa在路上閱讀 218評論 0 0
  • 昨天和康康共讀《幼兒園的一天》 斷舍離 淘寶 微信 1天 感覺蠻不錯的 媽媽思考:知行合一,知道要做到。
    馬靖恩閱讀 128評論 0 1