博主簡介:原互聯網大廠tencent員工,網安巨頭Venustech員工,阿里云開發社區專家博主,微信公眾號java基礎筆記優質創作者,csdn優質創作博主,創業者,知識共享者,歡迎關注,點贊,收藏。
??Python 是一門易于學習、功能強大的編程語言。它提供了高效的高級數據結構,還能簡單有效地面向對象編程。Python 優雅的語法和動態類型以及解釋型語言的本質,使它成為多數平臺上寫腳本和快速開發應用的理想語言。下面我們來介紹一下python的類的封裝。
前些天發現了一個巨牛的人工智能學習網站,通俗易懂,風趣幽默,忍不住分享一下給大家。點擊跳轉到網站。”
https://www.cbedai.net/xander
python代碼封裝。??封裝,就是把客觀事物封裝成抽象的類,并規定類中的數據和方法只讓可信的類或對象操作。封裝可分為兩個層面:
(1)第一層面的封裝,創建類和對象時,分別創建兩者的名稱,只能通過類名或者對象名加“.”的方式訪問內部的成員和方法,前面介紹的例子其實都是這一層面的封裝。
(2)第二層面的封裝,類中把某些成員和方法隱藏起來,或者定義為私有,只在類的內部使用,在類的外部無法訪問,或者留下少量的接口(方法)供外部訪問。
??私有化方法:在準備私有化的數據成員或方法的名字前面加兩個下劃線“__”即可。
??例:私有化數據成員和方法。Python目前的私有機制其實是偽私有,實際上,在外部可以通過“_類名__屬性”訪問私有變量和方法。
class A: #定義類def __init__(self):self.__X = 10 #定義私有變量并賦值為10def __foo(self): #定義私有方法print('from A')
a = A() #創建對象
print(a.__X) #輸出私有變量值
a.__foo() #調用私有方法print(a._A__X) #通過類名訪問私有變量
a. _A__foo() #通過類名調用私有方法
??結果如下,大家可以復制代碼嘗試。
??對于這一層面的封裝(隱藏),我們需要在類中定義一個方法(也稱接口函數),在它內部訪問被隱藏的屬性和方法,然后外部可以通過接口函數進行訪問。
python的封裝???例:在類中增加一個方法(接口函數),實現通過調用該方法訪問內部成員及內部方法。
class A: #定義類def __init__(self):self.__X = 10 #定義私有變量并賦值為10def __foo(self): #定義私有方法print('from A')def bar(self): #定義接口函數self.__foo() #類內部訪問私有方法return self.__X #返回私有變量__X的值
a = A() #創建對象
b = a.bar() #調用接口函數,將返回值賦給b
print(b) #輸出b的值
??結果如下,大家可以復制代碼嘗試。
1、廖雪峰的官網
2、python官網
3、Python編程案例教程
??以上就是就是關于Python類的封裝相關知識,可以參考一下,覺得不錯的話,歡迎點贊、收藏、在看,歡迎微信搜索關注java基礎筆記,后面會不斷更新相關知識,大家一起進步。
版权声明:本站所有资料均为网友推荐收集整理而来,仅供学习和研究交流使用。
工作时间:8:00-18:00
客服电话
电子邮件
admin@qq.com
扫码二维码
获取最新动态