陆陆续续总结一些用到的类的特殊方法
看源码总会看到一些奇奇怪怪的写法: 掺杂着设计模式
https://coding.net/u/RuoYun/p/Python-design-pattern/git/tree/master
https://www.liaoxuefeng.com/wiki/0014316089557264a6b348958f449949df42a6d3a2e542c000/0014319098638265527beb24f7840aa97de564ccc7f20f6000
类的专有方法
slot : 给obj属性留坑
- 仅对当前类实例起作用,对继承的子类是不起作用的
- 除非在子类中也定义__slots__,这样,子类实例允许定义的属性就是自身的__slots__加上父类的__slots__
str 定制obj输出内容: print(a)(repr)
__str__给人看的, __repr__给程序看的
使用__str__定制
__getattr__动态获取设置属性
正常情况下,当我们调用类的方法或属性时,如果不存在,就会报错。比如定义Student类:
todo:
@proerty, 实现a.show
call: 实现 a()