[py]类的专有方法

Posted iiiiiher

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[py]类的专有方法相关的知识,希望对你有一定的参考价值。

陆陆续续总结一些用到的类的特殊方法

看源码总会看到一些奇奇怪怪的写法: 掺杂着设计模式
https://coding.net/u/RuoYun/p/Python-design-pattern/git/tree/master

https://www.liaoxuefeng.com/wiki/0014316089557264a6b348958f449949df42a6d3a2e542c000/0014319098638265527beb24f7840aa97de564ccc7f20f6000

类的专有方法

slot : 给obj属性留坑

技术分享图片

  1. 仅对当前类实例起作用,对继承的子类是不起作用的
  2. 除非在子类中也定义__slots__,这样,子类实例允许定义的属性就是自身的__slots__加上父类的__slots__

str 定制obj输出内容: print(a)(repr)

__str__给人看的, __repr__给程序看的

技术分享图片

使用__str__定制
技术分享图片

__getattr__动态获取设置属性
正常情况下,当我们调用类的方法或属性时,如果不存在,就会报错。比如定义Student类:

技术分享图片

技术分享图片

技术分享图片

todo:
@proerty, 实现a.show
call: 实现 a()

以上是关于[py]类的专有方法的主要内容,如果未能解决你的问题,请参考以下文章

33.Python面向对象类的专有方法__iter____getitem____getattr____call____new____init__

33.Python面向对象类的专有方法__iter____getitem____getattr____call____new____init__

33.Python面向对象类的专有方法__iter____getitem____getattr____call____new____init__

python中类的专用方法

Python从入门到PY交易,基础语法,散记

py5.25