python的protected和private
生活随笔
收集整理的這篇文章主要介紹了
python的protected和private
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
Python的封裝機(jī)制是把變量名字改掉,在類外還是可以訪問(wèn)的。下面例子的注釋部分演示了如何在類外破壞封裝性訪問(wèn)私有和保護(hù)變量,未注釋部分則演示了保護(hù)變量和私有變量在子類調(diào)用的結(jié)果。
class A:_弱私有變量 = None # protected__強(qiáng)私有變量 = None # privatedef __init__(self, a, b):self._弱私有變量 = aself.__強(qiáng)私有變量 = bdef _弱私有函數(shù)(self):print("調(diào)用了_弱私有函數(shù)")def __強(qiáng)私有函數(shù)(self):print("調(diào)用了__強(qiáng)私有函數(shù)")def show(self):print("弱私有變量 = {0}".format(self._弱私有變量))print("強(qiáng)私有變量 = {0}".format(self.__強(qiáng)私有變量))class B(A):def __init__(self):super().__init__(1, 2)def show(self):print(self._弱私有變量) # protected 變量可訪問(wèn)# print(self.__強(qiáng)私有變量) # A類的私有變量,不可訪問(wèn)if __name__ == '__main__':# a = A(100, 200)# print("弱私有變量 = {0}".format(a._弱私有變量))# print("強(qiáng)私有變量 = {0}".format(a._A__強(qiáng)私有變量))# a._弱私有函數(shù)()# a._A__強(qiáng)私有函數(shù)()# a.show()b = B()b.show()總結(jié)
以上是生活随笔為你收集整理的python的protected和private的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: python深拷贝
- 下一篇: 使用 python 一键搭建文件服务器