上一页 1 2 3 4 5 6 7 8 ··· 10 下一页
摘要: 首先他们三个都是python面对对象的装饰器 1 property 1.1 作用:将类方法变成属性 1.2 示例: result: 2 staticmethod 和 classmethod 2.1 作用:只能被类调用的方法 2.2 相同点:都是被类调用的方法 2.3. 不同点:classmethod 阅读全文
posted @ 2017-12-01 08:36 fuzzier 阅读(144) 评论(0) 推荐(0) 编辑
摘要: 1 首先介绍app-model的循环引用 2 解决方式 阅读全文
posted @ 2017-11-29 15:10 fuzzier 阅读(723) 评论(0) 推荐(0) 编辑
摘要: 1 属性访问优先级为 1 __getattribute__(), 入口 2 数据描述符 3 实例对象的字典 obj.__dict__ (若与描述符同对象名,会被覆盖) 4 类的字典 Class.__dict__ 5 非数据描述符 6 父类的字典 7 __getattr__() 2 调用流程 假设我们 阅读全文
posted @ 2017-11-18 09:11 fuzzier 阅读(415) 评论(0) 推荐(0) 编辑
摘要: 该文章持续跟新,看见好的写法就往上放 1 __call__装饰器+描述符 2 使用__call__方法将类定义为装饰器 1 __call__装饰器+描述符 灵感来自bottle源码中描述符的适用 下面是模拟bottle描述符大致的写法 里面有有两块需要注意 1.1 __call__ 方法的返回值是D 阅读全文
posted @ 2017-11-17 11:17 fuzzier 阅读(151) 评论(0) 推荐(0) 编辑
摘要: 本文参考 HuangHuang 的文章 原文地址 https://segmentfault.com/a/1190000008150517 1 super 1.1 super是一个内置类,可以参考__builtin__中的 super 类 这里主要选取super类创建对象时候主要适用的方法 __new 阅读全文
posted @ 2017-11-14 10:33 fuzzier 阅读(281) 评论(0) 推荐(0) 编辑
摘要: 1 __init__和__new__的区别 1 当创建一个实例的时候会首先调用__new__, 然后在初始化实例的时候会调用__init__. 2 __new__是类级别的方法,__init__是个实例方法. 3 __new__方法会返回一个创建的实例,而__init__不需要有返回值 2 __ne 阅读全文
posted @ 2017-11-09 22:23 fuzzier 阅读(238) 评论(0) 推荐(0) 编辑
摘要: 本文主要参考 刘羽冲 的文章,原文地址 点击链接, 原文讲的很生动,我这篇主要做笔记。 1 python的类型衍生 1 type: python所有类型的起源 2 元类 metaclass: 生成类的父 3 类 class: 生成实例的父 4 实例 instance: 对象实例 5 各种方法属性 2 阅读全文
posted @ 2017-11-07 16:01 fuzzier 阅读(161) 评论(0) 推荐(0) 编辑
摘要: UI over 阅读全文
posted @ 2017-11-06 15:58 fuzzier 阅读(243) 评论(0) 推荐(0) 编辑
摘要: 这里主要参考 Rookie 的文章,里面用法很pythonic,所以来自己再分析一遍然后记笔记,详见原文 地址 我们这里只看 bottle 框架中的 request。所以我们看 BaseRquest(object) 类 和 BaseRequest 用到的描述器 DictProperty(object 阅读全文
posted @ 2017-10-30 11:59 fuzzier 阅读(987) 评论(0) 推荐(0) 编辑
摘要: 1 使用__call__(self,[..)方法将类变成装饰器 这里我就用一个例子和执行图来解释了 result: f.foo() 相当于 temp = Describer(‘zhn’); inner = temp__call__(foo); func_result = inner(foo_self 阅读全文
posted @ 2017-10-29 21:47 fuzzier 阅读(843) 评论(0) 推荐(1) 编辑
上一页 1 2 3 4 5 6 7 8 ··· 10 下一页