python隐藏部分代码_Python封装与隐藏

今日内容:

1.封装与隐藏

2.property

3.绑定方法与非绑定方法

知识点一:封装与隐藏

1、什么封装:

封:属性对外是隐藏的,但对内是开放的

装:申请一个名称空间,往里装入一系列名字/属性

2、为什么要封装:

封装数据属性的目的

首先定义属性的目的就是为了给类外部的使用者使用的,

隐藏之后是为了不让外部使用者直接使用,需要类内部开辟一个接口

然后让类外部的使用通过接口来间接地操作隐藏的属性。

精髓在于:我们可以在接口之上附加任意逻辑,从而严格控制使用者对属性的操作

封装函数属性:

首先定义属性的目的就是为了给类外部的使用使用的,

隐藏函数属性是为了不让外不直接使用,需要类内部开辟一个接口

然后在接口内去调用隐藏的功能

精髓在于:隔离了复杂度

3、如何隐藏:

1、 这种隐藏仅仅只是一种语法上的变形操作

2、 这种语法上的变形只在类定义阶段发生一次,因为类体代码仅仅只在类定义阶段检测一次

3、 这种隐藏是对外不对内的,即在类的内部可以直接访问,而在类的外则无法直接访问,原因是

在类定义阶段,类体内代码统一发生了一次变形

4、 如果不想让子类的方法覆盖父类的,可以将该方法名前加一个__开头

1 classPeople:2 def __init__(self,name,age):3 self.__name=name4 self.__age=age5

6 deftell_info(self):7 print('%s:%s' %(self.__name,self.__age))8

9 defset_info(self,name,age):10 if type(name) is notstr:11 #print('用户名必须为str类型')

12 #return

13 raise TypeError('用户名必须为str类型')14

15 if type(age) is notint:16 #print('年龄必须为int类型')

17 #return

18 raise TypeError('年

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值