美文网首页程序员python 高级码农成才之路
* 禁白嫖 *python ----私有属性 *** 删除属性

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

作者: 幼姿沫 | 来源:发表于2021-02-02 14:35 被阅读0次

禁白嫖的含义就是

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

'''

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

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

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

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

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

'''

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

相关文章

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

    禁白嫖的含义就是 尊重我的劳动成果 点赞 打赏 转发 谢谢您各位捧场 ''' 更好的保护对象属性安全就是不可随意更...

  • 类的私有属性和私有方法

    当定义私有属性后,python将私有属性改了名字为 _类名+私有属性名

  • python 私有属性

    私有属性 python 中类里面定义的变量叫做类属性,类属性有两种公有属性和私有属性 属性的定义: 私有: 以单下...

  • day13面向对象(1)

    01-内置类属性 内置类属性:python中每个类都拥有内置的类属性 02私有化 python中,类和属性的私有化...

  • day014 笔记 08-01

    内置类的属性 python中每个类都拥有内置的类属性。 私有化 python中类中的属性和方法的私有化:直接在属性...

  • Python私有属性(private attributes)及其

    Python中的私有属性 在面向对象(Object Oriented Design)的情景下,所谓私有属性(pri...

  • python下划线定义属性

    类的私有变量和私有方法 在Python中可以通过在属性变量名前加上双下划线定义属性为私有属性 特殊变量命名 1、 ...

  • Python基础18-面向对象(属性限制-公有私有)

    1 区域2 公有属性3 受保护属性4 私有属性 注意:1 - Python并没有真正的私有化支持,但是, 可以使用...

  • python私有属性

    结果如下: 私有的属性,为了对外能访问,提供了对外访问的set和get方法。但是对于使用的时候略显繁琐,使用ret...

  • Python 私有属性

    如下,__age为私有属性:

网友评论

    本文标题:* 禁白嫖 *python ----私有属性 *** 删除属性

    本文链接:https://www.haomeiwen.com/subject/ziaqtltx.html