python中的 property使用

2021-07-24 11:28:59 字數 923 閱讀 8366

如下:

class

animal

(object):

def__init__

(self,name,age):

self.name = name;

self.age = age;

a = animal("zhuzhu",9)

a.name

out[3]: 'zhuzhu'

a.age

out[4]: 9

a.age=20

a.age

out[5]: 20

在python中a.name實際用的是name屬性的getter方法,a.age=20呼叫的是setter方法。

通過@property能把python中定義的函式,當做屬性訪問從而提供友好的訪問方式。

class

student

(object):

def__init__

(self, name, score):

self.name = name

self.__score = score

@property

defscore

(self):

return self.__score

@score.setter

defscore

(self, score):

if score < 0

or score > 100:

raise valueerror('invalid score')

在這段**中,定義score函式,利用@property把它變為可訪問的屬性,實際上是把getter方法變成了屬性,@score.setter重寫了score的setter方法,並加上了相應的限制。

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 操作 對於 號操作,可變...