
32Python面向对象进阶(三)
48N6E
这个作者很懒,什么都没留下…
展开
-
2019/11/26 03-描述器概念
描述器几乎支撑了整个python面向对象有三个方法依然跟实例有关 get,set__,delete,del留给析构函数了,这里只能用delete了 del(self)只能由一个参数 delete(self,item)这里就有两个参数 加个print看看到底谁调用谁 有几个参数,现在这么直接调用是不行的 调用构造器了 24行就有输出的东西,这样类跟实例就建立关系了 打印出a说明确实是实例的...原创 2020-09-30 15:21:32 · 190 阅读 · 0 评论 -
2019/11/26 04-描述器应用
python中描述器有哪些应用,在python中使用广泛,pytho中的方法,实例犯法,类方法,静态方法,这些方法都是以非数据描述器实现的 非数据描述器 现在就改成3000了,但是在类的字典里没改动,本质上还是非数据描述器 property实际上是数据描述器,阻止你去进行修改,因为你修改了就跑到set里去了,set不允许,就直接抛出异常 要修改,没提供这个属性的setattr就抛出个异常不能够去修...原创 2020-09-30 15:13:37 · 164 阅读 · 0 评论 -
2019/11/25 02-反射的魔术方法和实例属性搜索顺序
反射相关的魔术方法,总共有四个 getattr 现在这几个值正常没跟__getattr__什么关系 依然没关系 a.实例, A.是类,getattr(self),self是实例的,这么访问肯定出问题 ...原创 2019-11-26 16:57:40 · 96 阅读 · 0 评论 -
2019/11/25 01-反射基本概念
反射是很多语言有的概念,要理解两个概念,运行时,和编译时 静态编译语言有俩个步骤,把类型定义好,然后把代码写好,开始编译,做编译时类型检查,还有一些绑定的事情,如果发现问题,就中止编译过程 python也有编译,是把代码编译成字节码 运行时把代码交给python解释器运行的时候,这样才报错 运行时不管编译成什么样子,最后都在内存中跑你代码的过程 绝大多数靠虚拟机运行的语言都提供了反射的能力,所谓反...原创 2019-11-25 17:12:24 · 111 阅读 · 0 评论