91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

python為什么要進行封裝

發布時間:2020-08-10 13:56:38 來源:億速云 閱讀:236 作者:小新 欄目:編程語言

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

python為什么要封裝?

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

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:封裝方法:目的是隔離復雜度

封裝方法舉例:

1. 電視機本身是一個黑盒子,隱藏了所有細節,但是一定會對外提供了一堆按鈕,這些按鈕也正是接口的概念,所以說,封裝并不是單純意義的隱藏!!!

2. 快門就是傻瓜相機為傻瓜們提供的方法,該方法將內部復雜的照相功能都隱藏起來了

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

封裝的例子

classA:
    __x=1 #在屬性前面加兩個下劃線,表示對該屬性進行隱藏,設置成私有,在內部都會變成成:_類名.__x
    def__test(self): #這里在內部會變形:_A__test,調用的時候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()  #只有在類內部才可以通過__foo的形式訪問

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

看完了這篇文章,相信你對python為什么要進行封裝有了一定的了解,想了解更多相關知識,歡迎關注億速云行業資訊頻道,感謝各位的閱讀!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

禄劝| 恩施市| 台江县| 丰原市| 北辰区| 灵寿县| 德格县| 商河县| 客服| 丽江市| 垦利县| 元朗区| 华容县| 离岛区| 微山县| 和田市| 嘉荫县| 紫金县| 香格里拉县| 鄱阳县| 南充市| 玛沁县| 芷江| 耿马| 兴安盟| 镇宁| 板桥市| 瑞丽市| 元阳县| 东安县| 海门市| 肇源县| 屯门区| 资阳市| 长岭县| 石城县| 洪洞县| 聂拉木县| 都昌县| 邯郸县| 休宁县|