python定义私有变量的方法_Python面向对象程序设计之私有变量,私有方法原理与用法分析...
本文實(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)
私有化變量和方法的繼承:【子類不會(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)制訪問還是可以的
希望本文所述對大家Python程序設(shè)計(jì)有所幫助。
總結(jié)
以上是生活随笔為你收集整理的python定义私有变量的方法_Python面向对象程序设计之私有变量,私有方法原理与用法分析...的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python进程线程协程区别_Pytho
- 下一篇: python一行输入多个值用空格隔开_2