python-decorators

    2热度

    2回答

    我试图赶上使用decorator异常的cached_propertyhttps://github.com/bottlepy/bottle/commit/fa7733e075da0d790d809aa3d2f53071897e6f76 https://pypi.python.org/pypi/cached-property 我愿做如下简单的东西,但是这并不工作 from pprint import

    2热度

    2回答

    来自此post。接受的答案很好地与装饰者没有任何争论。我试图扩展这个解决方案,使它为应用装饰器带来参数。 详细地说,我有使外部API调用的功能。由于这些调用经常失败,我将此library的重试装饰器应用于所有功能。为了避免所有函数一次又一次地使用@retry(...)行,我决定将它们集中到一个类中。我创建了RetryClass,并将所有功能都作为classmethod放入课程中。现在,我正在寻找一

    2热度

    1回答

    from inspect import signature from typing import get_type_hints def check_range(f): def decorated(*args, **kwargs): #something should be modified here counter=0 # use get_type_hint

    1热度

    2回答

    我想在python中编写一个装饰器:如果一个被调用的函数包含print's,装饰器会在调用该函数之前打印她的名字。我熟悉装饰器的语法,但是我在检查一个函数是否有print的问题。 def preceeding_name(func): @wraps(func) def wrapper(*args, **kwargs): if 'print' in func:

    -2热度

    1回答

    我想创建一个属性装饰器,它在对象初始化时计算属性值,而不是每次访问属性。例如: class Foo: def __init__(self, value): self.value = value @cached_property # How to implement this decorator? def foo(self): return se

    0热度

    2回答

    我在创建一个全局切换变量来打开和关闭我的decorator,具体取决于通过命令行传递的参数。 在下面的情况下,我不想在不需要的时候注释掉@time_md5_comparison,而是根据传递的参数,我想要一个全局切换。 main.py from timing_decorator import time_md5_comparison @time_md5_comparison def md5_c

    0热度

    1回答

    我想在Python中测试装饰器的实用程序。当我写以下代码,有一个错误: TypeError: fizz_buzz_or_number() takes 1 positional argument but 2 were given 我首先定义一个函数log_calls(fn)作为 def log_calls(fn): ''' Wraps fn in a function named "i

    0热度

    2回答

    所以我想破译here一些代码。下面我复制并粘贴了我不太了解的相关代码。 def layer(op): '''Decorator for composable network layers.''' def layer_decorated(self, *args, **kwargs): # Automatically set a name if not provide

    3热度

    1回答

    虽然有plenty of resources about using classes as decorators,但我一直未能找到任何处理方法的问题。这个问题的目标是解决这个问题。我会发布我自己的解决方案,但当然也邀请其他人发布他们的解决方案。 为什么“标准”的实施不起作用 与标准的装饰类实现的问题是,蟒蛇不会造成装饰功能的绑定方法: class Deco: def __init__(s

    0热度

    1回答

    假设我有一个组件对象,例如路线。 class Route: def __init__(self, url='localhost', port=80) ... 我想提供一个路由管理器类,类似于烧瓶@app.route呢,这样我就可以创建和跟踪路线的: class Router: def route(self, *args, **kwargs): rou