python中的property屬性

2022-05-13 14:31:16 字數 1219 閱讀 4927

建立property屬性的方法有兩種,分別是裝飾器方式 和 類屬性方式。

1、裝飾器方式如下:

class goods:

def __init__(self):

self.original_price = 100

self.discount = 0.8

@property

def price(self): #此函式中只有self,不能有其他引數穿進

new_price = self.original_price * self.discount

return new_price

@price.setter

def price(self, value):

self.original_price = value

@price.deleter

def price(self):

del self.original_price

g = goods()

price = g.price

g.price = 60

del g.price

print(g.original_price)

2、 類屬性方式如下:

1

class

goods():

2def

get_price(self):

3return 10045

defset_price(self, value):

6"""

必須兩個引數

"""7

return

value89

defdel_price(self):

10return

'no price'11

12 bar =property(get_price, set_price, del_price)

1314 obj =goods()

1516 obj.bar #

自動呼叫第乙個引數中定義的方法:get_price

17 obj.bar = 50 #

自動呼叫第二個引數中定義的方法:set_price方法,並將50當作引數傳入

18del obj.bar #

自動呼叫第三個引數中定義的方法:del_bar方法

此外,property還有 doc 屬性,此引數是該屬性的描述資訊,不過一般用不上,所以不介紹。

JS中Attribute和property的區別

在使用angular中的資料繫結時,發現對html屬性和dom屬性不是很清楚,順便屢屢清楚這二者的區別。attribute html屬性,書寫在標籤內的屬性,使用setattribute 和getattribute 進行設定和獲取。property dom屬性,html標籤對應的dom節點屬性,使用...

Python 今天抽空學習了 Property

1 property使方法像屬性一樣呼叫 property可以把乙個例項方法變成其同名屬性,以支援.號訪問,它亦可標記設定限制,加以規範 2 property成為屬性函式,可以對屬性賦值時做必要的檢查,比如在setter方法裡加過濾判斷條件。3 顯得相對簡潔一些,相比自定義的get和set方法,pr...

python中 python中的 與

這一部分首先要理解python記憶體機制,python中萬物皆物件。對於不可變物件,改變了原來的值,其別名 變數名 繫結到了新值上面,id肯定會改變 對於可變物件,操作改變了值,id肯定會變,而 是本地操作,其值原地修改 對於 號操作,可變物件和不可變物件呼叫的都是 add 操作 對於 號操作,可變...