Python3之封装property及使用

1.封装的作用:使属性私有,隐藏数据,使数据安全

2.封装的形式:对类内使用__属性名 或者__方法名,接着会进行变形,属性名或者方法名会被变形为:_类名__属性名的形式

3.2中的封装形式只在类的定义阶段生效,在定义完成后,对象调用__X只是在对象的名称空间内创造了一个新的属性__X

4.property的使用:
property

首先被property装饰过的函数名会被当做对象的属性名去用,比如:f.name,该函数名字被伪装成了属性名,当f.name被调用时,首先从对象自己这找一个叫name的属性,自己这里没有跑去父类找,父类没有原始的name属性,但是有一个被property修饰的name属性,找到后触发name函数的运行,得到一个返回值,这个self.__name中存放真正的函数值,函数值被返回后就给了f.name

其次当f.name = ‘wsx’时会触发name.setter的执行,这时会将’wsx’赋值给value,value将值直接赋值给self.__name,将真正的值给更改掉

再次当del f.name时,会触发name.deleter的执行将真正的值也就是self.__name给删掉,查找f.name时会再次触发被property修饰的函数运行,而此时self.__name已经被删除,会报AttributeError错误

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值