python-decorators 相关问题

在Python中,装饰器是使用特殊语法方便地改变函数,方法或类的函数。装饰器动态地改变功能而不改变被装饰的源代码。

Sphinx 装饰类未记录

我正在使用 Sphinx 记录我的库。我有装饰器logic_object: 类逻辑对象: """逻辑对象类的装饰器。 ”“” def __init__(self, cls): self.cls = cls ...

回答 1 投票 0

如何在基于类的视图中使用 user_passes_test 装饰器?

我试图在允许用户查看特定用户设置页面之前检查某些条件。我正在尝试使用 user_passes_test 装饰器来实现这一点。该功能位于 c...

回答 1 投票 0

Python:有哪些函数可以检查装饰器的参数?

我有一系列函数,它们使用装饰器来标记它们在管道中的函数“类别”(入口、进程、出口等)。例如: @custom_task(task_type=任务类型.

回答 1 投票 0

从函数内部禁用 `functools.lru_cache`

我想要一个可以使用 functools.lru_cache 的函数,但默认情况下不是。我正在寻找一种使用可用于禁用 lru_cache 的函数参数的方法。目前,我有两个

回答 3 投票 0

从另一个装饰器中创建装饰器(python)

在花了几个小时讨论Python中的装饰器主题之后,我仍然有两个问题。 第一的;如果你有没有参数的装饰器,那么 sytntax 是这样的: @装饰者 def 再见(): 返回...

回答 2 投票 0

递归函数的装饰器

我想实现递归函数的装饰器,即斐波那西数,想法是,正如你所知,大输入的递归函数需要太多时间,对于这个例子我已经尝试过

回答 1 投票 0

创建不是装饰器的上下文管理器的最简洁方法?

我有一个看起来像这样的函数: 导入上下文库 @contextlib.contextmanager def Special_context(...): ... 屈服 ... 将此用作续集是合适的...

回答 1 投票 0

用装饰函数装饰类的实例方法

我正在使用Python 3.10。考虑这个缓存的玩具示例,它缓存对实例方法的第一次调用,然后在后续调用中返回缓存的值: 导入函数工具 定义缓存...

回答 1 投票 0

我可以在没有装饰器功能的情况下运行装饰函数吗?

如果我曾经在我的函数中使用了装饰器,我如何单独运行这个函数,而不嵌入装饰器功能中? 例如,我有一个函数 printArg,它打印一个参数...

回答 3 投票 0

了解装饰器的细节

让我们假设我们有以下代码: def div(a,b): 打印(a/b) def helper_function(func): def 内部(a,b): 如果一个 假设我们有以下代码: def div(a,b): print(a/b) def helper_function(func): def inner(a,b): if a<b: a,b=b,a return func(a,b) return inner @helper_function # div =helper_function(div) div(2,4) 当我运行此代码时,它返回以下错误: div(2,4) ^^^ SyntaxError: invalid syntax 但是当我激活这条线时: div =helper_function(div) 然后它返回:2.0,但是我需要使用这个语句@,第一个函数的错误部分是怎样的,它看起来像这样:Decorators 请解释一下我做错了什么? 该问题是由于 @helper_function 装饰器放置不正确造成的。装饰器应放置在它们要修改的函数定义的正上方: def helper_function(func): def inner(a, b): if a < b: a, b = b, a return func(a, b) return inner @helper_function def div(a, b): print(a / b) div(2, 4)

回答 1 投票 0

Django视图缓存:如何设置过期时间?

我想缓存一些视图直到月底。 例如 @cache_page_expire_at_end_of_month def some_view(请求): ... 我发现这个老问题 Django per-view caching: set expiry time while...

回答 1 投票 0

带参数的Python装饰器类

我有一个简单的 Python 类,我想用它来将命名钩子添加到我正在编写的程序中。我尝试运行下面的代码并得到以下输出。 代码: 钩子={} 类钩子(对象): ...

回答 1 投票 0

在装饰器中处理异常和其他条件

def test_a(): 尝试: # 如果一切顺利 return {'status': True, 'message': '这是一个问题'} 除了异常 e: 返回{'状态':False,'消息':f'

回答 1 投票 0

需要修饰函数接受与绑定`TypeVar`匹配的参数,而不缩小到该类型

如果我像这样定义我的装饰器 T = TypeVar('T', 绑定=事件) def register1(evtype: Type[T]) -> Callable[[Callable[[T], None]], Callable[[T], None]]: def 装饰器(处理程序): # 重新...

回答 1 投票 0

在python的模块调度中,如何在作业运行后打印下一次运行时间?

在我使用Python的调度模块运行待处理作业后,我想打印一次“下一个作业安排在{next_job_time}”。 此代码每秒打印一条消息,这不是我想要的:

回答 1 投票 0

为什么这个python装饰器拒绝设置setter?

这是我的代码: 类属性: def __init__(self, fget, fset): self.fget = fget self.fset = fset def __get__(self, obj, objtype=None): 返回 self.fget(obj) ...

回答 1 投票 0

“return func”和“return func()”之间的区别

首先,如果这是一个重复的问题,我很抱歉。 假设我有一个简单的 python 代码,名为decorator.py,其中带有装饰器: `def 装饰器(函数): def 包装器(): 打印(“B...

回答 1 投票 0

如何正确向装饰器添加类型提示?

我目前正在编写和学习装饰器(带参数和不带参数)。下面是一个带有一个参数的装饰器示例,它将函数的输出重定向到日志文件。代码...

回答 1 投票 0

抽象@property - 实例化“部分实现”类?

我阅读了关于抽象类 abc.ABC 的非常好的文档。它有这个例子(我为了这个问题而缩短了): 导入 abc 基类(abc.ABC): @财产 @abc。

回答 1 投票 0

Python/SQL模型;添加对 `__init__` 和 `update` 的方法调用的语法不错吗?

我正在尝试使用 SQLModel 作为 ORM。我的一些模型具有自定义验证、计算字段,或者只是我希望在创建或更改它们时发生的事情。我最终使用了以下...

回答 1 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.