中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

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

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

python代碼的封裝方法

發布時間:2020-09-01 09:48:40 來源:億速云 閱讀:204 作者:小新 欄目:編程語言

python代碼的封裝方法?這個問題可能是我們日常學習或工作經常見到的。希望通過這個問題能讓你收獲頗深。下面是小編給大家帶來的參考內容,讓我們一起來看看吧!

封裝是面向對象編程語言對客觀世界的模擬,在客觀世界里,對象的狀態信息都被隱藏在對象內部,外界無法直接操作和修改。對一個類或對象實現良好的封裝,可以達到以下目的:

隱藏類的實現細節。

讓使用者只能通過事先預定的方法來訪問數據,從而可以在該方法里加入控制邏輯,限制對屬性的不合理訪問。

可進行數據檢查,從而有利于保證對象信息的完整性。

便于修改,提高代碼的可維護性。

為了實現良好的封裝,需要從以下兩個方面來考慮:

將對象的屬性和實現細節隱藏起來,不允許外部直接訪問。

把方法暴露出來,讓方法來控制對這些屬性進行安全的訪問和操作。

封裝的目的是,保護隱私,把不想讓別人知道的東西封裝起來。下面通過例子來理解封裝

億速云- 專業的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. 快門就是傻瓜相機為傻瓜們提供的方法,該方法將內部復雜的照相功能都隱藏起來了

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

感謝各位的閱讀!看完上述內容,你們對python代碼的封裝方法大概了解了嗎?希望文章內容對大家有所幫助。如果想了解更多相關文章內容,歡迎關注億速云行業資訊頻道。

向AI問一下細節

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

AI

靖江市| 龙口市| 若尔盖县| 闽清县| 海丰县| 彭泽县| 锡林浩特市| 嘉祥县| 永丰县| 昂仁县| 东辽县| 达州市| 交城县| 内黄县| 正宁县| 依安县| 临邑县| 白水县| 兴城市| 尉氏县| 柞水县| 莎车县| 呼伦贝尔市| 来安县| 蚌埠市| 白城市| 宁化县| 安阳县| 如东县| 肥乡县| 巴塘县| 寿光市| 樟树市| 宁晋县| 六枝特区| 金溪县| 佛学| 永兴县| 隆德县| 辉县市| 赫章县|