禁白嫖的含義就是
?尊重我的勞動(dòng)成果? 點(diǎn)贊 打賞 轉(zhuǎn)發(fā) 謝謝您各位捧場
'''
更好的保護(hù)對象屬性安全就是不可隨意更改
所以添加了私有類 添加可調(diào)用的方法 供調(diào)用
對自己獨(dú)有的屬性進(jìn)行修改必須進(jìn)行調(diào)用獨(dú)特的方法
在屬性名之前添加兩個(gè)下劃線則表示私有化了不會(huì)進(jìn)行隨意更改
方法名之前添加兩個(gè)下劃線也表示是 私有方法
'''
class Person:
??? def __init__(self,gender):
??????? self.__gender=gender
? ? def setGender(self,newGender):
??????? if self.__gender=='male':
??????????? self.__gender=newGender
? ? ? ? else:
??????????? print('他的性別不是male')
??? def getGender(self):
??????? return self.__gender
p=Person('male')
print(p.getGender())
p.setGender('female')
print(p.getGender())
p.setGender('no female or male')
print(p.getGender())
控制臺(tái)輸出結(jié)果
male
female
他的性別不是male
female
#私有屬性 private私有屬性 / public共有屬性
# python中定義私有屬性用__name? 添加可以調(diào)用的方法進(jìn)行調(diào)用
class People:
???? def __init__(self,name):
??????? self.__name=name
? ? def getName(self):
??????? return self.__name
??? def setName(self,newName):
??????? if len(self.__name) >=5:
??????????? self.__name=newName
? ? ? ? ? ?? return self.getName()
?????? else:
??????????????? print('error:名字長度必須大于5')
xm=People('huahua')
xm.setName('lisi')
print(xm.getName())
xm.setName('huangyongxin')
print(xm.getName())
控制臺(tái)輸出結(jié)果
lisi
error:名字長度必須大于5
lisi
#創(chuàng)建對象的時(shí)候 默認(rèn)調(diào)用 init方法 創(chuàng)建類屬性
#刪除對象的時(shí)候會(huì)自動(dòng)調(diào)用del方法? 刪除類屬性
class Animal:
??? def __init__(self,name):
??????? print('*****__init__方法會(huì)被進(jìn)行調(diào)用*****')
??????? self.__name=name
? ? def __del__(self):
??????? print('****調(diào)用了__del__方法 刪除類對象*****')
??????? print('%s 會(huì)被__del__干掉'%self.__name)
dog=Animal('haba')
dog.__del__()
del dog
cat=Animal('bosi')
cat2=cat
cat3=Animal('heiwei')
cat4=cat3
cat5=cat
print('cat 正在被干掉 或者刪除菜單 ')
del cat
print('cat3正在被干掉 或者刪除菜單')
del cat3
控制臺(tái)輸出:
*****__init__方法會(huì)被進(jìn)行調(diào)用*****
****調(diào)用了__del__方法 刪除類對象*****
haba 會(huì)被__del__干掉
****調(diào)用了__del__方法 刪除類對象*****
haba 會(huì)被__del__干掉
*****__init__方法會(huì)被進(jìn)行調(diào)用*****
*****__init__方法會(huì)被進(jìn)行調(diào)用*****
cat 正在被干掉 或者刪除菜單
cat3正在被干掉 或者刪除菜單
****調(diào)用了__del__方法 刪除類對象*****
bosi 會(huì)被__del__干掉
****調(diào)用了__del__方法 刪除類對象*****
heiwei 會(huì)被__del__干掉