10 2019 档案
摘要:property 即静态方法 property补充 另一种用法
阅读全文
摘要:一、与函数的装饰器一样,类也可以被装饰 在装饰器给类设置属性 上述代码在装饰器函数中把属性写死了,如果不同的类需要设置不同的属性呢 与前面描述符应用结合,类的装饰器的应用
阅读全文
摘要:一、针对name属性的类型检查 但是上述代码只能针对字符串进行判断,所以需要改进
阅读全文
摘要:一、上下文管理协议其实就是 with obje as f 在文件操作时用过,with open("a.txt","r") as f: 当时的好处就是不用手动关闭文件了 学到现在我们知道了,其实open也是一个类,之所以能用 with as 是类里做了“小手脚” 上述过程: 1. with obj >
阅读全文
摘要:一、概念: Python 中,通过使用描述符,可以让程序在引用一个对象属性时自定义要完成的工作。 本质上看,描述符就是一个类,只不过它定义了另一个类中属性的访问方式。 换句话说,一个类可以将属性全权委托给描述符类。 描述符类基于以下3个特殊方法: ♦ __set__ (self, instance,
阅读全文
摘要:一、__slots__ 用来取代 __dict__ 优势是省内存 附加功能是只能创建slots 定义好的key 注意:不要乱用,用了就没有__dic__方法了 二、__doc__ 查看类文档,该属性无法继承 三、__module__ : 查看当前操作的对象在哪个模块 __class__ :查看当前操
阅读全文
摘要:像上面这样实例化后以操作字典的方式增删查才可以实现 二、__str__ 及__repr__ 可以自己定制str方法,控制打印的信息,由print 触发str __repr__是在python解释中触发 当__str__ 与__repr__共存时 如果__str__ 没有被定义, 那么就会使用__re
阅读全文
摘要:授权:授权是包装的一个特性,包装一个类型通常是对已存在的类型的一些定制, 这种做法可以新建,修改或删除原有产品的功能。其它的则保持原样。授权的过程, 即是所有更新的功能都是由新类的某部分来处理,但已存在的功能就授权给对象的默认属性。 实现授权的关键点就是要覆盖__getattr__方法 改写其中的w
阅读全文