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