* 禁白嫖 *python ----私有属性 *** 删除属性

禁白嫖的含义就是

 尊重我的劳动成果  点赞 打赏 转发 谢谢您各位捧场


'''

更好的保护对象属性安全就是不可随意更改

所以添加了私有类 添加可调用的方法 供调用

对自己独有的属性进行修改必须进行调用独特的方法

在属性名之前添加两个下划线则表示私有化了不会进行随意更改

方法名之前添加两个下划线也表示是 私有方法

'''

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__干掉

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容