一種用起來像是使用的例項屬性一樣的特殊屬性,可以對應於某個方法
class
foo():
deffunc
(self)
:pass
# 定義property屬性
@property
defprop
(self)
:pass
foo = foo(
)# 例項化物件
foo.func(
)# 呼叫例項方法
value = foo.prop # 呼叫property屬性
定義和呼叫property需要注意的兩個點:
1.定義:在例項方法的基礎上新增@property裝飾器;並且僅有乙個self引數
2.呼叫時,無需括號
某購物**搜尋介面,使用者可以選擇跳轉的頁數(每頁預設十條資料)
class
pager
:def
__init__
(self,current_page)
: self.current_page = current_page # 當前使用者請求得頁碼(1,2,3....)
self.peritems =
10#每頁預設顯示得資料條數
@property
defstart
(self)
: val =
(self.current_page-1)
* self.peritems
return val
@property
defend
(self)
: val = self.current_page*self.peritems
return val
p = pager(1)
# 例項化物件
# ######## 呼叫 ########
print
(p.start)
# 起始值
print
(p.end)
# 結束值
從上述可見,property屬性的功能:property屬性內部進行一系列的邏輯計算,最終將計算機結果返回–>可讀性更高,開發者呼叫方便(呼叫方法像呼叫屬性一樣簡單了) python 物件導向程式設計
新式類 class mynewobjecttype bases define mynewobjecttype class class suite經典類 沒有指定乙個父類,或者子類化的基本類沒有父類,就建立了乙個經典類 class mynewobjecttype define mynewobjectt...
Python物件導向程式設計
class mynewobjecttype bases define mynewobjecttype class class suite例項化 myfirstobject mynewobjecttype class mydatawithmethod object defprintfoo self p...
python物件導向程式設計
程式設計正規化 程式設計時程式設計師用特定的語法 資料結構 演算法組成的 在計算機上執行任務的過程。實現乙個任務有不同的方式,對這些不同的程式設計方式的特點進行歸納總結得出的程式設計方式類別,即為程式設計正規化。不同的程式設計正規化本質上代表對各種型別的任務採取的不同的解決問題的思路,兩種最重要的程...