Python学习笔记【week03day2下】封装,语法糖--@property,黑魔法,Python中的下划线

封装,语法糖--@property,黑魔法,Python中的下划线

封装

面向对象的三大特征:封装,继承以及多态

  • 广义的封装:类与函数的定义就是封装的体现。
  • 狭义的封装:类中的有些属性我们不希望外界能够直接访问,我们可以将这些属性
  • 进行私有化只有本类持有,再给外界暴露出一个访问的接口即可。
  • 封装的本质:属性私有化的过程
  • 封装的优点:提高数据的复用性,保证数据的安全性

私有化: self.__age

def __init__(self,age):
    self.__age = age
  • 需要通过setter和getter方法来调用该私有变量
  • 对于私有化的属性我们可以对它进行数据过滤

语法糖

@property功能:可以将函数转为属性来进行调用
将@property添加给getter头上,将getter变成一个属性来进行调用
与此同时,@property还会生成一个新的装饰器,这个装饰器的名字叫做
@属性.setter的装饰器,这个装饰器可以将setter方法变为属性赋值。
优点:方便调用者写出更加简洁的代码。

def __init__(self,age):
    self.__age = age

#语法糖(可将函数转为属性来进行调用)
@property  # getter方法
def age(self):
    return self.__age

#前面一定要有getter方法,因为这是语法糖-
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值