- 什麼是靜態屬性
靜態屬性property
在類的函式屬性前加@property可以讓該函式以資料屬性的方式呼叫.
注意:
1. 靜態屬性不可傳引數,(只有self)
2.類的例項預設無法修改靜態屬性
3.如果想對例項修改,呼叫靜態屬性做限制,可以用setter, getter, deleter,等裝飾器
點選檢視程式碼
class Room:
def __init__(self, name_in, owner_in, width_in, length_in, heigh_in):
self.name = name_in
self.owner = owner_in
self.width = width_in
self.length = length_in
self.heigh = heigh_in
@property # 將函式cal_area變成cal_area()
def cal_area(self):
print('%s 住的 %s 總面積是%s' % (self.owner, self.name, self.width * self.length))
return self.width * self.length
room01 = Room('HOME', 'ZJW', 100, 10, 800)
room02 = Room('HOME', 'HJ', 1, 1, 8)
# Room01.cal_area #這裡可以執行函式了
print(room01.cal_area) # 這裡列印的是返回值