Python30期第二十四天课程总结

装饰器

1.装饰器: 为原函数扩展新功能,用新功能去替代旧功能
  作用  : 在不改变原有代码的基础上,实现功能上的扩展
  符号  : @(语法糖)
2.@符号作用: 
  (1) 可以自动把@符号下面的函数当成参数传递给装饰器
  (2) 把新函数进行返回,让新函数去替换旧函数,以实现功能的扩展.
  # func = newfunc  <=>   func() = newfunc()
3.扩展的新功能和原函数的功能,在参数和返回值上,要保持一致性.
4.用装饰器修饰带有参数的函数
5.用装饰器修饰带有参数返回值的函数
6.用类装饰器来拓展原函数
7.带有参数的函数装饰器
8.带有参数的类装饰器
       如果参数是1,就为当前类添加成员属性和方法
       如果参数是2,就把原方法run变成属性

面向对象中的方法

1.普通方法:  可以有参数,或者无参数,当场正常的函数调用
  绑定方法:  (1) 绑定到对象(自动传递参数为对象) (2) 绑定到类(自动传递参数为类)
  静态方法:  无论是对象还是类,都可以调用,不会默认传递任何参数

property

1.property 可以把方法变成属性使用
  作用: 控制属性的获取,设置,删除操作,
  变相的增加的成员的安全性.可以通过自定义逻辑对成员进行控制

  自动触发: 要求:是同一个名字
  获取 @property
  设置 @属性名.setter
  删除 @属性名.deleter
2.如果发现有删除行为,可以在这个方法中拒绝删除:pass
3.获取属性 (自动触发获取方法 @property)
4.设置属性 (自动触发设置方法) val形参自动接收设置的值

反射 (针对于类对象,模块)

1.概念: 通过字符串去操作类对象 或者 模块当中的成员(属性方法)
2.hasattr() 检测对象/类是否有指定的成员
3.getattr() 获取对象/类成员的值
4.通过对象反射出来的方法是绑定方法
5.通过类反射出来的是一个普通方法
6.当类对象中的成员不存在时,可以设置默认值(第三个参数是默认值参数)
7.setattr() 设置对象/类成员的值
8.tcut 是一个无参普通方法,只能是类来调用
9.delattr() 删除对象/类成员的值
10.sys.modules 返回一个系统的字典,加载系统模块展现出来
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值