定義例項方法乙個例項的私有屬性就是以__開頭的屬性,無法被外部訪問,那這些屬性定義有什麼用?
雖然私有屬性無法從外部訪問,但是,從類的內部是可以訪問的。除了可以定義例項的屬性外,還可以定義例項的方法。
例項的方法就是在類中定義的函式,它的第乙個引數永遠是 self,指向呼叫該方法的例項本身,其他引數和乙個普通函式是完全一樣的:
class
person(object):
def__init__
(self, name):
self.
__name =name
defget_name(self):
return self.__name
get_name(self) 就是乙個例項方法,它的第乙個引數是self。
__init__
(self, name)其實也可看做是乙個特殊的例項方法。
呼叫例項方法必須在例項上呼叫:
p1 = person('
bob'
)print p1.get_name() #
self不需要顯式傳入
#=> bob
在例項方法內部,可以訪問所有例項屬性,這樣,如果外部需要訪問私有屬性,可以通過方法呼叫獲得,這種資料封裝的形式除了能保護內部資料一致性外,還可以簡化外部呼叫的難度。
任務請給 person 類增加乙個私有屬性
__score,表示分數,再增加乙個例項方法 get_grade(),能根據 __score 的值分別返回 a-優秀, b-及格, c-不及格三檔。
python 定義例項方法
乙個例項的私有屬性就是以 開頭的屬性,無法被外部訪問,那這些屬性定義有什麼用?雖然私有屬性無法從外部訪問,但是,從類的內部是可以訪問的。除了可以定義例項的屬性外,還可以定義例項的方法。例項的方法就是在類中定義的函式,它的第乙個引數永遠是 self,指向呼叫該方法的例項本身,其他引數和乙個普通函式是完...
Python中定義例項方法
乙個例項的私有屬性就是以 開頭的屬性,無法被外部訪問,那這些屬性定義有什麼用?雖然私有屬性無法從外部訪問,但是,從類的內部是可以訪問的。除了可以定義例項的屬性外,還可以定義例項的方法。例項的方法就是在類中定義的函式,它的第乙個引數永遠是 self,指向呼叫該方法的例項本身,其他引數和乙個普通函式是完...
方法的定義(例項與靜態)
1 2 關於方法來說,什麼時候定義為例項方法?什麼時候定義為靜態方法?3有沒有參考標準。45 此方法一般都是描述了乙個行為,如果說該行為必須由物件去觸發。6那麼該方法定義為例項方法。78 9當這個方法體當中,直接訪問了例項變數,這個方法一定是例項方法。1011 以後開發中,大部分情況下,如果是工具類...