用實例帶你全面瞭解python property屬性(零基礎入門必看)

今天爲大家帶來的內容是:用實例帶你全面瞭解python property屬性

1. 什麼是property屬性

一種用起來像是使用的實例屬性一樣的特殊屬性,可以對應於某個方法

如下的例子用於說明如何定一個簡單的property屬性:

property屬性的定義和調用要注意一下幾點:

  1. 定義時,在實例方法的基礎上添加 @property 裝飾器;並且僅有一個self參數
  2. 調用時,無需括號

2. 簡單的實例

對於京東商城中顯示電腦主機的列表頁面,每次請求不可能把數據庫中的所有內容都顯示到頁面上,而是通過分頁的功能局部顯示,所以在向數據庫中請求數據時就要顯示的指定獲取從第m條到第n條的所有數據 這個分頁的功能包括:

  1. 根據用戶請求的當前頁和總數據條數計算出 m 和 n
  2. 根據m 和 n 去數據庫中請求數據

 

嗨嘍:正在學習python的小夥伴或者打算學習的,可以加羣:877562786領取資料!

從上述可見:

Python的property屬性的功能是:property屬性內部進行一系列的邏輯計算,最終將計算結果返回。

3. property屬性的有兩種方式

  1. 裝飾器 即:在方法上應用裝飾器
  2. 類屬性 即:在類中定義值爲property對象的類屬性

3.1) 裝飾器方式

在類的實例方法上應用@property裝飾器

Python中的類有經典類和新式類,新式類的屬性比經典類的屬性豐富。( 如果類繼object,那麼該類是新式類 )

經典類,具有一種@property裝飾器:

 

注意:

  1. 經典類中的屬性只有一種訪問方式,其對應被 @property 修飾的方法
  2. 新式類中的屬性有三種訪問方式,並分別對應了三個被@property、@方法名.setter、@方法名.deleter修飾的方法

由於新式類中具有三種訪問方式,我們可以根據它們幾個屬性的訪問特點,分別將三個方法定義爲對同一個屬性:獲取、修改、刪除

 

3.2 類屬性方式,創建值爲property對象的類屬性

當使用類屬性的方式創建property屬性時,經典類和新式類無區別

 

property方法中有個四個參數

  1. 第一個參數是方法名,調用 對象.屬性 時自動觸發執行方法
  2. 第二個參數是方法名,調用 對象.屬性 = XXX 時自動觸發執行方法
  3. 第三個參數是方法名,調用 del 對象.屬性 時自動觸發執行方法
  4. 第四個參數是字符串,調用 對象.屬性.doc ,此參數是該屬性的描述信息

由於類屬性方式創建property屬性具有3種訪問方式,我們可以根據它們幾個屬性的訪問特點,分別將三個方法定義爲對同一個屬性:獲取、修改、刪除

綜上所述:

  1. 定義property屬性共有兩種方式,分別是【裝飾器】和【類屬性】,而【裝飾器】方式針對經典類和新式類又有所不同。
  2. 通過使用property屬性,能夠簡化調用者在獲取數據的流程

4. property屬性-應用

4.1. 私有屬性添加getter和setter方法

4.2. 使用property升級getter和setter方法

4.3. 使用property取代getter和setter方法

重新實現一個屬性的設置和讀取方法,可做邊界判定

以上就是本文的全部內容,希望對大家的學習有所幫助!!!

python程序員交流羣:877562786(羣裏含大量學習資料,面試寶典等)

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章