“封裝”就是將抽象得到的數(shù)據(jù)和行為(或功能)相結(jié)合,形成一個(gè)有機(jī)的整體(即類);封裝的目的是增強(qiáng)安全性和簡化編程,使用者
不必了解具體的實(shí)現(xiàn)細(xì)節(jié),而只是要通過外部接口,一特定的訪問權(quán)限來使用類的成員。而這些封裝數(shù)據(jù)的函數(shù)是和Student類本身是關(guān)
聯(lián)起來的,我們稱之為類的方法。那如何定義類的方法呢?就要用到對(duì)象self本身,參考上例,把print_score()函數(shù)寫為類的方法
(Python2.7之后的版本,推薦.format輸出寫法):
classStudent(object):
def__init__(self,name,score):
self.name=name
self.score=score
defprint_score(self):
print("{self.name}'sscoreis:{self.score}".format(self=self))#Python2.7+.format優(yōu)化寫法
May=Student("May",90)
Peter=Student("Peter",85)
定義類的方法:除了第一個(gè)參數(shù)是self外,其他和普通函數(shù)一樣。
實(shí)例調(diào)用方法:只需要在實(shí)例變量上直接調(diào)用,除了self不用傳遞,其他參數(shù)正常傳入;注意,若類的方法僅需要self,不需要其他,調(diào)用
該方法時(shí),僅需instance_name.function_name()。
這樣一來,我們從外部看Student類,就只需要知道,創(chuàng)建實(shí)例需要給出name和score,而如何打印,都是在Student類的內(nèi)部定義的,
這些數(shù)據(jù)和邏輯被“封裝”起來了,調(diào)用很容易,但卻不用知道內(nèi)部實(shí)現(xiàn)的細(xì)節(jié)。
以上內(nèi)容為大家介紹了python培訓(xùn)之封裝是什么,希望對(duì)大家有所幫助,如果想要了解更多Python相關(guān)知識(shí),請(qǐng)關(guān)注IT培訓(xùn)機(jī)構(gòu):千鋒教育。