Python面向?qū)ο蟪绦蛟O(shè)計之私有變量,私有方法原理與用法分析
本文實例講述了Python面向?qū)ο蟪绦蛟O(shè)計之私有變量,私有方法原理與用法。分享給大家供大家參考,具體如下:
私有變量,私有方法:
- python的私有化是為了規(guī)劃私有屬性,避免非相關(guān)的訪問【假如!我有老婆,你不能直接知道我老婆是誰,你只有問我才會知道,即我的私有屬性只有我知道】
- 在python中定義私有變量和私有方法只需要在變量名或函數(shù)名前加上 "__"兩個下劃線
在類內(nèi)部的方法中使用時 self.__變量名或函數(shù)名。
- 實際上,如果真要訪問私有變量和私有方法,也是可以訪問的,因為實際上私有化的操作只是將變量或函數(shù)名更改了而已:
- 下例中由private_value變?yōu)榱薩A__private_value【即_類名__屬性名】,但為了保持私有性,不建議直接使用這種方法訪問
class A: _private=6 __private_value=5 def __private_func(self): print("hello") def get_private_value(self): return self.__private_value a=A() # print(a.__private_value)###報錯,找不到該屬性 print(a.get_private_value()) print(a._A__private_value)
- 下例中由private_value變?yōu)榱薩A__private_value【即_類名__屬性名】,但為了保持私有性,不建議直接使用這種方法訪問
-
私有化變量和方法的繼承:【子類不會繼承基類私有屬性,但仍然通過基類的函數(shù)來獲取或可以強(qiáng)行訪問】
class A: _private=6 __private_value=5 def __private_func(self): print("hello") def get_private_value(self): return self.__private_value class B(A): pass b=B() # print(b.__private_value)#報錯 print(b.get_private_value())#可以使用父類的方法來獲取私有屬性 print(b._A__private_value)#強(qiáng)制訪問還是可以的
更多關(guān)于Python相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《Python面向?qū)ο蟪绦蛟O(shè)計入門與進(jìn)階教程》、《Python數(shù)據(jù)結(jié)構(gòu)與算法教程》、《Python函數(shù)使用技巧總結(jié)》、《Python字符串操作技巧匯總》、《Python編碼操作技巧總結(jié)》及《Python入門與進(jìn)階經(jīng)典教程》
希望本文所述對大家Python程序設(shè)計有所幫助。
相關(guān)文章
Python利用zhconv模塊進(jìn)行簡繁體字轉(zhuǎn)換的案例演示
zhconv是一個Python庫,提供了簡體字和繁體字之間的轉(zhuǎn)換功能,本教程將向你展示如何使用zhconv模塊來實現(xiàn)簡繁體字的互轉(zhuǎn),并附帶一個案例演示,感興趣的朋友可以參考一下2024-05-05Python基于socket實現(xiàn)簡單的即時通訊功能示例
這篇文章主要介紹了Python基于socket實現(xiàn)簡單的即時通訊功能,涉及Python基于socket模塊實現(xiàn)tcp通信客戶端與服務(wù)器端相關(guān)操作技巧,需要的朋友可以參考下2018-01-01python list中append()與extend()用法分享
列表是以類的形式實現(xiàn)的?!皠?chuàng)建”列表實際上是將一個類實例化。因此,列表有多種方法可以操作2013-03-03python多項式擬合之np.polyfit 和 np.polyld詳解
這篇文章主要介紹了python多項式擬合之np.polyfit 和 np.polyld的實例代碼,python數(shù)據(jù)擬合主要可采用numpy庫,庫的安裝可直接用pip install numpy等,需要的朋友跟隨小編一起學(xué)習(xí)吧2020-02-02Python使用Pandas庫實現(xiàn)MySQL數(shù)據(jù)庫的讀寫
這篇文章主要介紹了Python使用Pandas庫實現(xiàn)MySQL數(shù)據(jù)庫的讀寫 ,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-07-07詳解字符串在Python內(nèi)部是如何省內(nèi)存的
這篇文章主要介紹了詳解字符串在Python內(nèi)部是如何省內(nèi)存的,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-02-02python優(yōu)雅實現(xiàn)代碼與敏感信息分離的方法
這篇文章主要介紹了python優(yōu)雅實現(xiàn)代碼與敏感信息分離的方法,在flask中,python-dotenv 可以無縫接入項目中,只要你的項目中存在 .env 或者 .flaskenv 文件,他就會提示你是否安裝 python-dotenv,需要的朋友可以參考下2022-05-05