问题标签 [python-decorators]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - 静态方法和类方法的区别
@staticmethod
用 装饰的函数和用 装饰的函数有什么区别@classmethod
?
python - 如何制作函数装饰器并将它们链接在一起?
如何在 Python 中制作两个可以执行以下操作的装饰器?
...应该返回:
我并不想HTML
在真实的应用程序中采用这种方式——只是想了解装饰器和装饰器链接是如何工作的。
python - 装饰类方法 - 如何将实例传递给装饰器?
这是 Python 2.5,也是GAE,这并不重要。
我有以下代码。我正在装饰 bar 中的 foo() 方法,使用dec_check
该类作为装饰器。
执行此操作时,我希望看到:
但我得到TypeError: foo() takes exactly 1 argument (0 given)
as .foo()
,作为一个对象方法,self
作为一个参数。我猜问题是bar
当我执行装饰器代码时,实例实际上并不存在。
那么如何将实例传递bar
给装饰器类呢?
python - Python 装饰器,自己搞混了
我是 Python 装饰器的新手(哇,很棒的功能!),我很难让以下内容工作,因为self
参数有点混乱。
当我运行它时,我得到:
对于我做的那条线self.cache[fname] = self.f(self,*args)
问题- 显然,问题在于self
缓存器对象而不是 Session 实例,它确实没有pl
属性。但是我找不到如何解决这个问题。
我考虑过但不能使用的解决方案——我想让装饰器类返回一个函数而不是一个值(如本文的第 2.1 节),以便self
在正确的上下文中进行评估,但这是不可能的因为我的装饰器被实现为一个类并使用内置 __call__
方法。然后我想不要为我的装饰器使用一个类,这样我就不需要 __call__ 方法,但我不能这样做,因为我需要在装饰器调用之间保持状态(即用于跟踪self.cache
属性中的内容) .
问题- 那么,除了使用全局cache
字典变量(我没有尝试,但假设会起作用)之外,还有其他方法可以使这个装饰器工作吗?
编辑:这个 SO 问题似乎类似于Decorating python 类方法,我如何将实例传递给装饰器?
python - 关于如何在 python 中使用属性功能的真实示例?
我对如何@property
在 Python 中使用感兴趣。我已经阅读了 python 文档和那里的示例,在我看来,这只是一个玩具代码:
我不知道_x
用属性装饰器包裹填充物可以获得什么好处。为什么不直接实现为:
我认为,属性功能在某些情况下可能很有用。但当?有人可以给我一些现实世界的例子吗?
python - Python 中的“at”(@) 符号有什么作用?
我正在查看一些使用该@
符号的 Python 代码,但我不知道它的作用。我也不知道要搜索什么,因为搜索 Python 文档或@
包含符号时 Google 不会返回相关结果。
python - 如何将额外的参数传递给 Python 装饰器?
我有一个像下面这样的装饰器。
我想增强这个装饰器以接受另一个参数,如下所示
但是这段代码给出了错误,
TypeError: myDecorator() 正好接受 2 个参数(1 个给定)
为什么函数没有自动传递?如何将函数显式传递给装饰器函数?
python - 如何在python中做一个条件装饰器
是否可以有条件地装饰函数。例如,我想foo()
用定时器函数(timeit
)装饰函数,只有doing_performance_analysis是True
(见下面的伪代码)。
python - 带有自参数的类方法装饰器?
如何将类字段作为参数传递给类方法上的装饰器?我想做的是:
它抱怨 self 不存在传递self.url
给装饰器。有没有解决的办法?