Python面向?qū)ο蟪绦蛟O(shè)計(jì)之私有變量,私有方法原理與用法分析
本文實(shí)例講述了Python面向?qū)ο蟪绦蛟O(shè)計(jì)之私有變量,私有方法原理與用法。分享給大家供大家參考,具體如下:
私有變量,私有方法:
- python的私有化是為了規(guī)劃私有屬性,避免非相關(guān)的訪問【假如!我有老婆,你不能直接知道我老婆是誰,你只有問我才會(huì)知道,即我的私有屬性只有我知道】
- 在python中定義私有變量和私有方法只需要在變量名或函數(shù)名前加上 "__"兩個(gè)下劃線

在類內(nèi)部的方法中使用時(shí) self.__變量名或函數(shù)名。
- 實(shí)際上,如果真要訪問私有變量和私有方法,也是可以訪問的,因?yàn)閷?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)###報(bào)錯(cuò),找不到該屬性 print(a.get_private_value()) print(a._A__private_value) - 下例中由private_value變?yōu)榱薩A__private_value【即_類名__屬性名】,但為了保持私有性,不建議直接使用這種方法訪問
-
私有化變量和方法的繼承:【子類不會(huì)繼承基類私有屬性,但仍然通過基類的函數(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)#報(bào)錯(cuò)
print(b.get_private_value())#可以使用父類的方法來獲取私有屬性
print(b._A__private_value)#強(qiáng)制訪問還是可以的
更多關(guān)于Python相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《Python面向?qū)ο蟪绦蛟O(shè)計(jì)入門與進(jìn)階教程》、《Python數(shù)據(jù)結(jié)構(gòu)與算法教程》、《Python函數(shù)使用技巧總結(jié)》、《Python字符串操作技巧匯總》、《Python編碼操作技巧總結(jié)》及《Python入門與進(jìn)階經(jīng)典教程》
希望本文所述對(duì)大家Python程序設(shè)計(jì)有所幫助。
相關(guān)文章
python實(shí)現(xiàn)問號(hào)表達(dá)式(?)的方法
這篇文章主要介紹了python實(shí)現(xiàn)問號(hào)(?)表達(dá)式的方法,大家參考使用吧2013-11-11
python中的torch常用tensor處理函數(shù)示例詳解
這篇文章主要介紹了python中的torch常用tensor處理函數(shù),本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2023-07-07
Python的Django框架中消息通知的計(jì)數(shù)器實(shí)現(xiàn)教程
通知的計(jì)數(shù)器非常有用,新通知時(shí)+1和讀過通知后的-1是最基本的功能,這里我們就來看一下Python的Django框架中消息通知的計(jì)數(shù)器實(shí)現(xiàn)教程2016-06-06
Pytorch中的VGG實(shí)現(xiàn)修改最后一層FC
今天小編就為大家分享一篇Pytorch中的VGG實(shí)現(xiàn)修改最后一層FC,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2020-01-01
Pycharm使用Database?Navigator連接mysql數(shù)據(jù)庫全過程
這篇文章主要介紹了Pycharm使用Database?Navigator連接mysql數(shù)據(jù)庫全過程,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-07-07
python-sys.stdout作為默認(rèn)函數(shù)參數(shù)的實(shí)現(xiàn)
今天小編就為大家分享一篇 python-sys.stdout作為默認(rèn)函數(shù)參數(shù)的實(shí)現(xiàn),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2020-02-02
Python中的類屬性與實(shí)例屬性的區(qū)別和用法
在Python中,類屬性和實(shí)例屬性是面向?qū)ο缶幊痰暮诵母拍钪?它們?cè)试S存儲(chǔ)和管理對(duì)象的數(shù)據(jù),并影響對(duì)象的行為,本篇文章中,會(huì)學(xué)習(xí)到類屬性和實(shí)例屬性的概念、區(qū)別以及如何在Python中使用它們,同時(shí)提供大量的示例代碼來更好地理解它們的作用和用法,需要的朋友可以參考下2023-11-11

