python-decorators相关内容
我正在开发我的第一个REST API,如果我错过了一些基本的东西,请提前道歉。无论如何,我有一个函数可以从另一个服务器获取一个json请求,对其进行处理(根据数据进行预测),然后返回另一个带有结果的json。我希望在服务器的本地磁盘上保留对此端点的所有请求及其结果的日志,以用于评估和重新培训模型。然而,为了最大限度地减少将结果返回给用户的延迟,我希望首先返回响应数据,然后将其写入本地磁盘。我并不清
..
当我有一个具有如下定义的闭包的装饰符时: def Decorator(arg): class InnerDecorator: """Here i use the arg: {arg}""" __doc__ = __doc__.format(arg=arg) def __init__(self, func): s
..
我正在尝试使用python套接字和线程库创建一个简单的程序。我想使用一个装饰器自动执行以下步骤: t = threading.Thread(target=function, args=(arg1, arg2)) t.start() 程序是使用OOP构建的,所以我在Main中定义了一个子类来包含所有的修饰符(我在本文中读到了这个方法:https://medium.com/@vadimpus
..
我写了一个简单的装饰符: from functools import wraps import random def my_dec(f): lst = list() @wraps(f) def wrapper(*args): lst.append(random.randint(0, 9)) print(lst) re
..
我正在尝试编写Python装饰符,但我在理解内部包装器如何接受参数时遇到了问题。我有: import time def timing_function(some_function): def wrapper(): t1 = time.time() some_function() t2 = time.time() ret
..
我对Python中的装饰符有一个奇怪的问题。基本上,我试图包装一个函数,这样它就可以为每个请求创建和删除游标(不要问--这只是一个示例,对于演示这个问题很有用!)我还有其他打算)。 这里有一个示例: class DB(object): """Our DB methods and connections""" def __init__(self): se
..
在Python中修饰函数或方法非常棒。 @dec2 @dec1 def func(arg1, arg2, ...): pass #This is equivalent to: def func(arg1, arg2, ...): pass func = dec2(dec1(func)) 我想知道是否可以在python中修饰变量。 @capitalize @stri
..
我有一个由多个模块组成的程序字符串,其中一个模块指定各自的Web应用程序处理程序,一个模块指定各自的路由器。 我使用的库可以找到here。 摘自webapp.service(有更多这样的模块): from webapp.router import ROUTER @ROUTER.route('/service/[id:int]') class ServicePermissions(A
..
如何在不泄漏内存的情况下在类内使用functools.lru_cache? 在下面的最小示例中,foo实例将不会被释放,尽管它超出作用域并且没有引用对象(除lru_cache以外)。 from functools import lru_cache class BigClass: pass class Foo: def __init__(self): se
..
..
是否可以有条件地装饰函数.例如,我想用定时器函数(timeit)装饰函数foo()只有doing_performance_analysis是True(见伪代码下面). 如果做性能分析:@timeit定义 foo():"""做某事,timeit 函数将返回它所花费的时间"""时间.sleep(2)别的:定义 foo():时间.sleep(2) 解决方案 装饰器是简单的可调用函数,它返回一个替换
..
我希望仅当登录用户具有所需的权限级别时才能执行不同的功能. 为了让我的生活更简单,我想使用装饰器.下面我尝试在 'decorated' 函数上设置属性 permission - 如下所示. def 权限(permission_required):def 包装器(函数):def 内部(*args,**kwargs):setattr(函数,'permission_required',permi
..
我一直在尝试找到一种同时使用模拟装饰器和 pytest capsys 的方法,但我找不到正确的方法. 导入pytest导入 requests_mock@requests_mock.mock()def test_with_mock(m):经过def test_with_capsys(capsys):经过# 如何编写一个适用于两者的测试? 解决方案 如 request-mock 的文档:
..
[免责声明:可能有更多的 Pythonic 方法可以做我想做的事,但我想知道这里的 Python 作用域是如何工作的] 我试图找到一种方法来制作一个装饰器,它可以将名称注入另一个函数的范围内(这样名称不会泄漏到装饰器的范围之外).例如,如果我有一个函数说要打印一个尚未定义的名为 var 的变量,我想在调用它的装饰器中定义它.这是一个中断的示例: c = '消息'定义装饰器工厂(值):def
..
有人能发现这个@property 装饰器的问题吗?我似乎无法让它正确断言.我确定我做错了一些非常简单的事情,但是谁能把我疲惫的眼睛指向正确的方向? A 类:def __init__(self):自我.a = 0self._b = 0@财产定义 b(自我):回归自我.b@b.getter定义 b(自我):如果 self._b 是 None:返回 0返回 self._b@b.setterdef b(
..
是否可以获得类中所有 @property 修饰方法的列表?如果是这样怎么办? 示例: class MyClass(object):@财产def foo(self):经过@财产定义栏(自我):经过 我如何从这个类中获取['foo', 'bar']? 解决方案 任何用 property 修饰的东西都会在你的类命名空间中留下一个专用对象.查看类的__dict__,或者使用vars()函
..
import functools类装饰(对象):def __init__(self, func):self.func = funcdef __call__(self, *args, **kwargs):def 闭包(*args, **kwargs):打印参数,kwargs返回 self.func(*args, **kwargs)返回闭包(*args,**kwargs)类受害者(对象):@装饰风格d
..
我正在查看一些使用 @ 符号的 Python 代码,但我不知道它的作用.我也不知道要搜索什么,因为在包含 @ 符号时搜索 Python 文档或 Google 不会返回相关结果. 解决方案 行首的 @ 符号用于类、函数和方法装饰器. 在此处阅读更多信息: PEP 318:装饰器 Python 装饰器 您将遇到的最常见的 Python 装饰器是: @propert
..
我的models.py文件如下: from django.contrib.auth.models 导入用户类店主(models.Model):用户 = 模型.OneToOneField(用户,on_delete=models.CASCADE,primary_key=True)# ...类客户(模型.模型):用户 = 模型.OneToOneField(用户,on_delete=models.CAS
..
如何在类中使用 functools 的 lru_cache 而不泄漏内存?在下面的最小示例中,foo 实例不会被释放,尽管超出了范围并且没有引用(除了 lru_cache). from functools import lru_cache类大类:经过Foo类:def __init__(self):self.big = BigClass()@lru_cache(maxsize=16)def cac
..