禁白嫖的含義就是
?尊重我的勞動成果? 點贊 打賞 轉(zhuǎn)發(fā) 謝謝您各位捧場
'''
更好的保護對象屬性安全就是不可隨意更改
所以添加了私有類 添加可調(diào)用的方法 供調(diào)用
對自己獨有的屬性進行修改必須進行調(diào)用獨特的方法
在屬性名之前添加兩個下劃線則表示私有化了不會進行隨意更改
方法名之前添加兩個下劃線也表示是 私有方法
'''
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())
控制臺輸出結(jié)果
male
female
他的性別不是male
female
#私有屬性 private私有屬性 / public共有屬性
# python中定義私有屬性用__name? 添加可以調(diào)用的方法進行調(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())
控制臺輸出結(jié)果
lisi
error:名字長度必須大于5
lisi
#創(chuàng)建對象的時候 默認調(diào)用 init方法 創(chuàng)建類屬性
#刪除對象的時候會自動調(diào)用del方法? 刪除類屬性
class Animal:
??? def __init__(self,name):
??????? print('*****__init__方法會被進行調(diào)用*****')
??????? self.__name=name
? ? def __del__(self):
??????? print('****調(diào)用了__del__方法 刪除類對象*****')
??????? print('%s 會被__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
控制臺輸出:
*****__init__方法會被進行調(diào)用*****
****調(diào)用了__del__方法 刪除類對象*****
haba 會被__del__干掉
****調(diào)用了__del__方法 刪除類對象*****
haba 會被__del__干掉
*****__init__方法會被進行調(diào)用*****
*****__init__方法會被進行調(diào)用*****
cat 正在被干掉 或者刪除菜單
cat3正在被干掉 或者刪除菜單
****調(diào)用了__del__方法 刪除類對象*****
bosi 會被__del__干掉
****調(diào)用了__del__方法 刪除類對象*****
heiwei 會被__del__干掉