随笔分类 - python_装饰器
摘要:该文章持续跟新,看见好的写法就往上放 1 __call__装饰器+描述符 2 使用__call__方法将类定义为装饰器 1 __call__装饰器+描述符 灵感来自bottle源码中描述符的适用 下面是模拟bottle描述符大致的写法 里面有有两块需要注意 1.1 __call__ 方法的返回值是D
阅读全文
摘要:1 使用__call__(self,[..)方法将类变成装饰器 这里我就用一个例子和执行图来解释了 result: f.foo() 相当于 temp = Describer(‘zhn’); inner = temp__call__(foo); func_result = inner(foo_self
阅读全文
摘要:1 通过下面的代码了解闭包的特性 也相当于调用 out: 2 闭包的特点: 2.1 inner 能访问 outer 及其祖先函数的命名空间内的变量(局部变量、函数参数) 2.2 调用 outer 已经返回了,但是他的命名空间被返回的 inner 对象引用,所以不会被回收
阅读全文
摘要:以下是我看见python装饰器的一些我不熟悉的特点,所以记录一下 1 装饰器的特性: 1.1 可以吧被装饰的函数替换成不同的函数 decorate(func)。 1.2 加载模块时候立即执行。这点很有用 这里我们可以给出最简单的装饰器 2 闭包的特点: 2.1 inner 能访问 outer 及其祖
阅读全文
摘要:前沿: 首先是看到了单例模型,想不明白 outer中的参数 为什么能像 global的参数 一样屹立不倒。 #单例模型 def single_model(cls): instance = {} def inner(*args, **kwargs): print if cls not in insta
阅读全文
摘要:关于python装饰器,不是系统的介绍,只是说一下某些问题 1 首先了解变量作用于非常重要 2 其次要了解闭包 在这里面,func是被装饰的函数,*args, **kwargs是 func要接收的参数 3 装饰器 3.1装饰器中传参数 原理:多一层闭包 然后装饰器可以写成
阅读全文
浙公网安备 33010602011771号