創新互聯www.cdcxhl.cn八線動態BGP香港云服務器提供商,新人活動買多久送多久,劃算不套路!
成都創新互聯是一家集網站建設,交城企業網站建設,交城品牌網站建設,網站定制,交城網站建設報價,網絡營銷,網絡優化,交城網站推廣為一體的創新建站企業,幫助傳統企業提升企業形象加強企業競爭力。可充分滿足這一群體相比中小企業更為豐富、高端、多元的互聯網需求。同時我們時刻保持專業、時尚、前沿,時刻以成就客戶成長自我,堅持不斷學習、思考、沉淀、凈化自己,讓我們為更多的企業打造出實用型網站。python封裝函數的方法是什么?這個問題可能是我們日常學習或工作經常見到的。希望通過這個問題能讓你收獲頗深。下面是小編給大家帶來的參考內容,讓我們一起來看看吧!
什么是封裝
在程序設計中,封裝(Encapsulation)是對具體對象的一種抽象,即將某些部分隱藏起來,在程序外部看不到,其含義是其他程序無法調用。
要了解封裝,離不開“私有化”,就是將類或者是函數中的某些屬性限制在某個區域之內,外部無法調用。
為什么要封裝
封裝數據的主要原因是:保護隱私(把不想別人知道的東西封裝起來)
封裝方法的主要原因是:隔離復雜度(比如:電視機,我們看見的就是一個黑匣子,其實里面有很多電器元件,對于用戶來說,我們不需要清楚里面都有些元件,電視機把那些電器元件封裝在黑匣子里,提供給用戶的只是幾個按鈕接口,通過按鈕就能實現對電視機的操作。)
提示:在編程語言里,對外提供的接口(接口可理解為了一個入口),就是函數,稱為接口函數,這與接口的概念還不一樣,接口代表一組接口函數的集合體。
封裝分為兩個層面
封裝其實分為兩個層面,但無論哪種層面的封裝,都要對外界提供好訪問你內部隱藏內容的接口(接口可以理解為入口,有了這個入口,使用者無需且不能夠直接訪問到內部隱藏的細節,只能走接口,并且我們可以在接口的實現上附加更多的處理邏輯,從而嚴格控制使用者的訪問)
第一個層面的封裝(什么都不用做):創建類和對象會分別創建二者的名稱空間,我們只能用類名.或者obj.的方式去訪問里面的名字,這本身就是一種封裝。
print(m1.brand) #實例化對象(m1.) print(motor_vehicle.tag) #類名(motor_vehicle.) -------------輸出結果-------------- 春風 fuel oil
注意:對于這一層面的封裝(隱藏),類名.和實例名.就是訪問隱藏屬性的接口
第二個層面的封裝:類中把某些屬性和方法隱藏起來(或者說定義成私有的),只在類的內部使用、外部無法訪問,或者留下少量接口(函數)供外部訪問。
Python中私有化的方法也比較簡單,即在準備私有化的屬性(包括方法、數據)名字前面加兩個下劃線即可。
類中所有雙下劃線開頭的名稱如_x都會自動變形成:類名__x的形式:
class A: __N=0 #類的數據屬性就應該是共享的,但是語法上是可以把類的數據屬性設置成私有的如__N,會變形為_A__N def __init__(self): self.__X=10 #變形為self._A__X def __foo(self): #變形為_A__foo print('from A') def bar(self): self.__foo() #只有在類內部才可以通過__foo的形式訪問到.
這種自動變形的特點:
1、類中定義的__x只能在內部使用,如self.__x,引用的就是變形的結果。
2、這種變形其實正是針對外部的變形,在外部是無法通過__x這個名字訪問到的。
3、在子類定義的_x不會覆蓋在父類定義的__x,因為子類中變形成了:子類名_x,而父類中變形成了:父類名__x,即雙下滑線開頭的屬性在繼承給子類時,子類是無法覆蓋的。
感謝各位的閱讀!看完上述內容,你們對python封裝函數的方法是什么大概了解了嗎?希望文章內容對大家有所幫助。如果想了解更多相關文章內容,歡迎關注創新互聯-成都網站建設公司行業資訊頻道。
本文名稱:python封裝函數的方法是什么-創新互聯
鏈接地址:http://m.newbst.com/article4/cepgoe.html
成都網站建設公司_創新互聯,為您提供定制開發、服務器托管、小程序開發、網站維護、企業建站、響應式網站
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯