Questions tagged «decorator»

装饰器是一种面向对象的设计模式,允许以动态方式向现有类添加行为。它是“四人帮”的结构设计模式之一。

9
我可以在包装函数之前修补Python装饰器吗?
我有一个带有装饰器的函数,我正在Python Mock库的帮助下进行测试。我想mock.patch用一个仅调用函数的模拟“ bypass”装饰器代替真正的装饰器。 我不知道的是如何在真正的装饰器包装功能之前应用补丁。我在补丁目标上尝试了几种不同的变体,并对补丁和导入语句重新排序,但均未成功。有任何想法吗?

6
通过方法属性的ASP.NET MVC路由
从目前的情况来看,这个问题不适合我们的问答形式。我们希望答案能得到事实,参考或专业知识的支持,但是这个问题可能会引起辩论,争论,民意调查或扩展讨论。如果您认为此问题可以解决并且可以重新提出,请访问帮助中心以获取指导。 7年前关闭。 在StackOverflow Podcast#54中,Jeff提到他们通过处理路由的方法上方的属性将其URL路由注册到StackOverflow代码库中。听起来像是个好主意(Phil Haack提出了关于路线优先级的警告)。 有人可以提供一些样本来实现这一目标吗? 另外,是否有使用这种样式的路由的“最佳实践”?


5
相当于类的Python functools.wraps
当使用一个类中定义一个装饰,我怎么自动转移__name__,__module__和__doc__?通常,我会使用functools中的@wraps装饰器。这是我为一个类所做的事情(这不完全是我的代码): class memoized: """Decorator that caches a function's return value each time it is called. If called later with the same arguments, the cached value is returned, and not re-evaluated. """ def __init__(self, func): super().__init__() self.func = func self.cache = {} def __call__(self, *args): try: return self.cache[args] except KeyError: value …
76 python  decorator 


4
Python-什么是内置装饰器?[关闭]
关闭。此问题不符合堆栈溢出准则。它当前不接受答案。 想改善这个问题吗?更新问题,使其成为Stack Overflow的主题。 5年前关闭。 改善这个问题 我知道@staticmethod,@classmethod和@property,而只能通过零星的文档。Python内置的所有函数装饰器是什么?是在文档中吗?是否在某处维护了最新列表?
70 python  decorator 

10
如何从Python函数中剥离装饰器
假设我有以下几点: def with_connection(f): def decorated(*args, **kwargs): f(get_connection(...), *args, **kwargs) return decorated @with_connection def spam(connection): # Do something 我想测试该spam功能而无需经历建立连接的麻烦(或装饰者所做的任何事情)。 给定spam,我如何从中剥离装饰器并获得基础的“未装饰”功能?
68 python  decorator 
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.