偽私有屬性 | 偽私有方法 | Python
阿新 • • 發佈:2017-11-10
創建 span pre pri nac 獲取 對象 屬性 acc
1.私有屬性 # 在屬性前加上雙下劃線 # 為了保護屬性安全 # 私有屬性無法直接通過對象調用,需要添加一個調用方法來調用; class People(object): def __init__(self): self.__name = ‘Mic‘ def get_private_attr(self, new_name): self.__name = new_name print(self.__name) # 創建對象 p = People() # 獲取私有屬性 p.get_private_attr(‘Lily‘) print(p.__name) 2.私有方法 # 同樣的,調用需要用另一方法來調用私有方法; class People(object): def __init__(self): self.__name = ‘Mic‘ def __get_name(self): print(self.__name) def get_name(self): self.__get_name() p = People() # p.__get_name() p.get_name()------------------------------------------------->>> 偽私有 # !!! 其實python的類是沒有權限控制的,所謂的雙下劃線表示私有,其實是可以訪問的; class Private(object): def __inaccesible(self): print(‘你訪問不到‘) def inaccesible(self): print(‘其實你看的到‘) self.__inaccesible() p = Private() # p.__inaccesible() # p.inaccesible() p._Private__inaccesible() >>> 你訪問不到 class Private(object): def __init__(self): self.__name = ‘Mic‘ def get_name(self): print(self.__name) p = Private() # print(p.__name) # p.get_name() print(p._Private__name) >>> ‘Mic‘
偽私有屬性 | 偽私有方法 | Python