禁白嫖的含义就是
尊重我的劳动成果 点赞 打赏 转发 谢谢您各位捧场
'''
更好的保护对象属性安全就是不可随意更改
所以添加了私有类 添加可调用的方法 供调用
对自己独有的属性进行修改必须进行调用独特的方法
在属性名之前添加两个下划线则表示私有化了不会进行随意更改
方法名之前添加两个下划线也表示是 私有方法
'''
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())
控制台输出结果
male
female
他的性别不是male
female
#私有属性 private私有属性 / public共有属性
# python中定义私有属性用__name 添加可以调用的方法进行调用
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())
控制台输出结果
lisi
error:名字长度必须大于5
lisi
#创建对象的时候 默认调用 init方法 创建类属性
#删除对象的时候会自动调用del方法 删除类属性
class Animal:
def __init__(self,name):
print('*****__init__方法会被进行调用*****')
self.__name=name
def __del__(self):
print('****调用了__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__方法会被进行调用*****
****调用了__del__方法 删除类对象*****
haba 会被__del__干掉
****调用了__del__方法 删除类对象*****
haba 会被__del__干掉
*****__init__方法会被进行调用*****
*****__init__方法会被进行调用*****
cat 正在被干掉 或者删除菜单
cat3正在被干掉 或者删除菜单
****调用了__del__方法 删除类对象*****
bosi 会被__del__干掉
****调用了__del__方法 删除类对象*****
heiwei 会被__del__干掉
网友评论