python----03(面向对象进阶02)

slots魔法:

 当我们需要限定自定义类型的对象只能绑定某些属性,可以通过在类中定义__slots__变量来进行限定。
 __slots__的限定只对当前类的对象生效,对子类并不起任何作用。

静态方法和类方法:

静态方法可解决对象未创建出来的问题。
案例:例如我们定义一个正方形类,通过四个边长来构造正方形,并提供计算面积的方法。

python----03(面向对象进阶02)python----03(面向对象进阶02)

定义类方法:

类方法的第一个参数约定名为cls,它代表的是当前类相关的信息的对象(类本身也是一个
对象,有的地方也称之为类的元数据对象),通过这个参数我们可以获取和类相关的信息并且可以创建
出类的对象。
案例:数字时钟

python----03(面向对象进阶02)python----03(面向对象进阶02)python----03(面向对象进阶02)

继承和多态:

继承:追根溯源,可以使得子类具有父类的属性和方法或者重新定义、追加属性和方法等。
多态:不同的子类对象会表现出不同的行为。

 例(1)、通过继承计算两数之和。   

python----03(面向对象进阶02)

例(2)、带参继承。

python----03(面向对象进阶02)

装饰器:

使用装饰器的时候,需要注意:
1. 装饰器名,函数名需要一致.
2. property需要先声明,再写setter,顺序不能倒过来
3. 如果你希望一点变量只是被访问不能被修改,那么可以使用访问器@property
4. 如果要修改访问器中的变量,可以搭建一个修改器,或者删除访问器.
例:将前面的两数求和,函数本身第三个数乘上这个和。

python----03(面向对象进阶02)

不定长参数

 *args :位置传参。

python----03(面向对象进阶02)

  ** kwargs:带参数名的传参。

python----03(面向对象进阶02)

 不定长参数:

python----03(面向对象进阶02)

案例:装饰器带参数

python----03(面向对象进阶02)

生成器:

优点:节约内存空间。
缺点:计算速度慢,因为要生成。

python----03(面向对象进阶02)

列表生成式:

优点:计算速度快,因为一次性已经全部加载到内存中了,适合数据不是太大的情况10000-2000-
缺点:占用内存。

python----03(面向对象进阶02)

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值