装饰器 共 11 篇文章

Python装饰器为什么会丢失被装饰函数的元信息
2026-05-16 21:20:09
Python装饰器为什么会丢失被装饰函数的元信息 在Python中,函数也是一个对象,它拥有许多元信息,例如函数名 name、文档字符串 doc 等。当你编写一个装饰器来“包装”一个函数时,如果不做特殊处理,这些元信息会被装饰器内部函数的元信息覆盖。 1. 编写一个简单的装饰器来观察问题 创建一个名
Python 装饰器 元信息丢失
30 0
Python @functools.wraps保留被装饰函数元信息
2026-05-03 21:17:06
Python @functools.wraps保留被装饰函数元信息 编写 Python 装饰器时,如果不做特殊处理,被装饰函数的元信息(如函数名、文档字符串、参数注解等)会被替换为装饰器内部包装函数的信息。这会导致调试困难、文档生成错误以及基于函数签名的操作失效。functools.wraps 正是
Python 装饰器 wraps
59 0
Python functools.lru_cache的缓存淘汰策略与线程安全
2026-04-27 22:23:34
Python functools.lrucache的缓存淘汰策略与线程安全 Python 标准库中的 functools.lrucache 是一个将函数结果进行缓存的装饰器。通过缓存,它能用“空间换时间”的策略,显著减少重复计算或 I/O 操作的开销。本文将直接讲解如何配置其淘汰策略,以及它在多线程
Python编程 缓存机制 LRU算法
49 0
Python contextlib.contextmanager简化上下文管理器的写法
2026-04-23 13:23:06
Python contextlib.contextmanager简化上下文管理器的写法 编写 Python 代码时,经常需要管理资源(如文件句柄、数据库连接、锁等),确保在使用完毕后正确释放。传统方式需要创建一个类并实现 enter 和 exit 方法,代码结构冗长且逻辑分散。Python 标准库
Python 上下文管理器 装饰器
55 0
Python 缓存装饰器:functools.lru_cache 的应用
2026-04-18 12:17:17
Python 缓存装饰器:functools.lrucache 的应用 在 Python 开发中,重复计算是导致程序运行缓慢的常见原因之一。如果函数的输入参数相同,且返回结果固定,重复执行该函数会浪费宝贵的 CPU 时间。functools.lrucache 装饰器是 Python 标准库中解决此问
Python 缓存 装饰器
77 0
Python 高级特性:装饰器的原理与自定义实现
2026-04-13 22:27:23
装饰器本质上是一个 Python 函数,它可以让其他函数在不需要做任何代码变动的前提下增加额外功能。装饰器的返回值也是一个函数对象。利用 Python 函数作为一等对象的特性,我们可以将函数作为参数传递给另一个函数,并在该函数内部对其进行增强处理。 第一阶段:理解函数作为对象的基础 在编写装饰器之前
Python 装饰器 闭包
97 0
TypeScript 装饰器问题:装饰器语法与配置
2026-04-10 07:25:24
TypeScript 装饰器问题:装饰器语法与配置 TypeScript 引入装饰器(Decorators)是为了实现对类、方法、属性等元素的修改或注解。然而,由于 TypeScript 经历了从“实验性旧版装饰器”向“ECMAScript 标准装饰器”的演进,开发者在配置文件和语法选择上极易产生混
TypeScript 装饰器 tsconfig
71 0
TypeScript 装饰器:类装饰器与方法装饰器
2026-04-09 02:26:29
TypeScript 装饰器:类装饰器与方法装饰器 TypeScript 装饰器是一种特殊类型的声明,它能够被附加到类声明、方法、访问符、属性或参数上。装饰器的本质是一个函数,它可以在运行时修改被装饰对象的行为或元数据。在 Angular、NestJS 等现代框架中,装饰器是核心语法糖。 要开始使用
TypeScript 装饰器 类装饰器
69 0
Python 函数重载:functools.singledispatch 实现
2026-04-08 02:26:12
Python 默认不支持像 C++ 或 Java 那样的函数重载,即定义多个同名函数但参数类型不同。当业务逻辑需要根据传入参数的类型执行不同操作时,通常会导致代码中出现大量的 if isinstancex, int 或 if typex == str 判断,这不仅难看而且难以维护。Python 标准
Python 函数重载 类型分派
83 0
TypeScript 装饰器:类、方法、属性装饰器
2026-04-03 09:59:26
TypeScript 装饰器:类、方法、属性装饰器 TypeScript 装饰器是一种特殊语法,用于在类、方法、属性或参数上添加元数据或修改行为。它们本质上是函数,在编译时被调用,常用于日志记录、权限控制、自动绑定等场景。要使用装饰器,必须在 tsconfig.json 中启用实验性装饰器支持。 启
TypeScript 装饰器 类装饰器
47 0
TypeScript装饰器元编程在NestJS依赖注入中的应用
2026-04-03 06:58:30
TypeScript装饰器元编程在NestJS依赖注入中的应用 NestJS 使用 TypeScript 的装饰器(Decorator)机制实现依赖注入(Dependency Injection),这是其核心架构能力之一。通过装饰器元编程,框架能在运行前收集类、方法或属性的元数据,并据此自动创建和管
TypeScript 装饰器 元编程
67 0