真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

python為什么要進(jìn)行封裝

小編給大家分享一下python為什么要進(jìn)行封裝,希望大家閱讀完這篇文章后大所收獲,下面讓我們一起去探討吧!

在界首等地區(qū),都構(gòu)建了全面的區(qū)域性戰(zhàn)略布局,加強(qiáng)發(fā)展的系統(tǒng)性、市場前瞻性、產(chǎn)品創(chuàng)新能力,以專注、極致的服務(wù)理念,為客戶提供網(wǎng)站制作、網(wǎng)站建設(shè) 網(wǎng)站設(shè)計(jì)制作按需網(wǎng)站制作,公司網(wǎng)站建設(shè),企業(yè)網(wǎng)站建設(shè),成都品牌網(wǎng)站建設(shè),成都全網(wǎng)營銷推廣,外貿(mào)網(wǎng)站建設(shè),界首網(wǎng)站建設(shè)費(fèi)用合理。

python為什么要封裝?

1:封裝數(shù)據(jù):主要原因是:保護(hù)私隱,明確區(qū)分內(nèi)外。將數(shù)據(jù)隱藏起來這不是目的。隱藏起來然后對外提供操作該數(shù)據(jù)的接口,然后我們可以在接口附加上對該數(shù)據(jù)操作的限制,以此完成對數(shù)據(jù)屬性操作的嚴(yán)格控制。

class Teacher:
    def __init__(self,name,age):
        self.__name=name
        self.__age=age

    def tell_info(self):
        print('姓名:%s,年齡:%s' %(self.__name,self.__age))
    def set_info(self,name,age):
        if not isinstance(name,str):
            raise TypeError('姓名必須是字符串類型')
        if not isinstance(age,int):
            raise TypeError('年齡必須是整型')
        self.__name=name
        self.__age=age

t=Teacher('egon',18)
t.tell_info()

t.set_info('egon',19)
t.tell_info()

2:封裝方法:目的是隔離復(fù)雜度

封裝方法舉例:

1. 電視機(jī)本身是一個(gè)黑盒子,隱藏了所有細(xì)節(jié),但是一定會(huì)對外提供了一堆按鈕,這些按鈕也正是接口的概念,所以說,封裝并不是單純意義的隱藏!?。?/p>

2. 快門就是傻瓜相機(jī)為傻瓜們提供的方法,該方法將內(nèi)部復(fù)雜的照相功能都隱藏起來了

提示:在編程語言里,對外提供的接口(接口可理解為了一個(gè)入口),可以是函數(shù),稱為接口函數(shù),這與接口的概念還不一樣,接口代表一組接口函數(shù)的集合體。

封裝的例子

classA:
    __x=1 #在屬性前面加兩個(gè)下劃線,表示對該屬性進(jìn)行隱藏,設(shè)置成私有,在內(nèi)部都會(huì)變成成:_類名.__x
    def__test(self): #這里在內(nèi)部會(huì)變形:_A__test,調(diào)用的時(shí)候a._A__test()
        print('fromA')
    def__init__(self):
        self.__x=10 #變形為self._A__x

    def__foo(self): #變形為_A.__foo
        print('fromA')

    def bar(self):
        self.__foo()  #只有在類內(nèi)部才可以通過__foo的形式訪問

#這就是封裝,簡單的隱藏
#a=A()
#print(a._A__x)
#a._A__test()#不建議在外部直接通過這種方式調(diào)用隱藏方法

看完了這篇文章,相信你對python為什么要進(jìn)行封裝有了一定的了解,想了解更多相關(guān)知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝各位的閱讀!


新聞標(biāo)題:python為什么要進(jìn)行封裝
文章轉(zhuǎn)載:http://weahome.cn/article/igggdd.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部