本文執行個體講述了Python面向對象程式設計之私有屬性及私有方法。分享給大家供大家參考,具體如下:
如果有一個對象,當需要對其進行修改屬性時,有2種方法:
(1)對象名.屬性名=資料---->直接修改
(2)對象名.方法名()----->間接修改
為了更好的保障屬性安全,不能随意修改,一般處理方式為:
(1)将屬性定義為私有屬性
(2)添加一個可以調用的方法,供調用,也就是間接調用屬性
首先我講解下私有屬性的例子:
1.下面這個是一個錯誤的例子:
class People(object):
def __init__(self,name):
self.__name=name
def getName(self):
return self.__name
def setName(self,newName):
if len(newName) >= 5:
self.__name = newName
else:
print("error:名字長度需要大于或者等于5")
xiaoming = People("monkey")
print(xiaoming.__name)
這是錯誤的,因為直接輸出了私有的屬性,是不可以的,解決方式為:或者删掉object也行
class People(object):
def __init__(self,name):
self.__name=name
def getName(self):
return self.__name
def setName(self,newName):
if len(newName) >= 5:
self.__name = newName
else:
print("error:名字長度需要大于或者等于5")
xiaoming = People("monkey")
print(xiaoming.getName()) #這樣就是通過調用方法來間接調用屬性
下面講解一個私有方法的例子:
class Dog:
#私有方法,在方法名前面加上兩個下劃線
def __test1(self):
print("1")
def test2(self):
print("2")
dog=Dog()
dog.__test1() #報錯
dog.test2() #正确
私有方法是不能直接調用的
非常感謝你的閱讀
大學的時候選擇了自學python,工作了發現吃了計算機基礎不好的虧,學曆不行這是
沒辦法的事,隻能後天彌補,于是在編碼之外開啟了自己的逆襲之路,不斷的學習python核心知識,深
入的研習計算機基礎知識,整理好了,我放在我們的Python學習扣qun:250933691,如果你也不甘平庸
,那就與我一起在編碼之外,不斷成長吧!
其實這裡不僅有技術,更有那些技術之外的東西,比如,如
何做一個精緻的程式員,而不是“屌絲”,程式員本身就是高貴的一種存在啊,難道不是嗎?[點選加入]想做你自己想成為高尚人,加油
@本文來源于公衆号:csdn2299,喜歡可以關注公衆号 程式員學府