随笔分类 - python进阶
摘要:class Foo: def __init__(self, name): self.name = name def __getitem__(self, item): print('obj[key]时,我执行') print(self.__dict__[item]) def __setitem__(self, key, v...
阅读全文
摘要:一、本质 静态属性property本质就是实现了get,set,delete三种方法 二、应用(类型检测)
阅读全文
摘要:1. @classmethod 2. @staticmethod
阅读全文
摘要:如果给Lazyproperty加了__set__,那就会变成数据描述符,数据描述符的优先级是大于实例属性的,这样就会去调用数据描述符,缓存就失效了。
阅读全文
摘要:众所周知,python是一门弱类型的语言,变量可以随意赋值成任意类型,但是通过描述符,我们可以把数据变成强类型的。 我们为数据设置数据描述符,因为数据描述的优先级大于实例属性,所以在给数据赋值的时候会优先出发数据描述符。 普通版 用类的装饰器实现 先回顾一下setattr的语法 语法 setattr
阅读全文
摘要:一.定义 1.object是所有新式类的父类 2.type是所有类的类 二.解析 print('object', object.__class__, object.__bases__) print('type', type.__class__, type.__bases__) 输出: object
阅读全文
摘要:这个例子让我了解到python的许多方法都是由双下方法构成了,比如在这个例子中,如果打印print(deck[0]),会显示Card(rank='2', suit='clubs’),这是因为类里面定义了__getitem__方法,如果没有这个方法的话,就会报错,而且,仅仅实现了__getitem__
阅读全文

浙公网安备 33010602011771号