python-decorators

    1热度

    1回答

    我试图注入一个mixin与一装饰类后失去__dict__。当代码运行该类已不再具有即使目录(实例)说,它有一个字典财产。我不确定房屋在哪里消失。有没有一种方法,我可以得到字典或以其他方式找到实例的属性? def testDecorator(cls): return type(cls.__name__, (Mixin,) + cls.__bases__, dict(cls.__dict__

    2热度

    1回答

    在Python中,我对装饰器有所了解。 在我可怜的理解任何装饰功能与原函数构造一个装饰funtion投资申报表(最合理,这应该是一个可调用的): def deco(func): def func_wrapper(name): return func(name)+", how are you?" return func_wrapper @deco def foo

    4热度

    1回答

    在瓶我使用了一组装饰各条路线的,但代码是“丑”组装饰: @app.route("/first") @auth.login_required @crossdomain(origin='*') @nocache def first_page: .... @app.route("/second") @auth.login_required @crossdomain(origin

    1热度

    4回答

    我们知道在Python 3 print()是一个函数,是有可能创造一个装饰的版本的它包裹json.dumps(indent=4) 为前下。 调用print(mydict)应产生相同的结果为print(json.dumps(mydict, indent=4))

    0热度

    1回答

    我想写两个单独但可堆栈的装饰器,一个用于在方法之前和之后打印对象的状态,另一个用于在方法之后运行一些内部类测试其中也有争论)。 这里我现在尝试的例子:如果装饰的排序如上应用 import functools class Dog: def __init__(self): self.happy = False self.has_stick = False

    0热度

    1回答

    我当然知道这是不能直接在Python中,在 Statement decorators 读,但我仍想找到一种方法,以编程方式打开(和关闭)的循环为: for i in range(L[:]): # do stuff 到 for i in range(L[0:N])): # estimate how much time it # took to run the loo

    0热度

    3回答

    我很难找到适合此问题的标题,所以请原谅我。 在我班上的很多方法是这样的: def one_of_many(): # code to determine `somethings` for something in somethings: if self.try_something(something): return # code to det

    0热度

    1回答

    我想知道是否有人可以帮助我。 我有这个示例代码,试图测试外部定义的装饰器函数,但在一个类内调用似乎不起作用。它简单的返回 “这是我的职责” 我需要它适用于它在代码中的装饰返回。 def time_this(original_function): def new_function(*args,**kwargs): import datetime be

    1热度

    1回答

    我想写所有非魔法方法的类修饰器来装饰这些方法。这个想法是,所有类的方法在打电话后打印它的名字;我不想装饰所有的方法,但只有阶级。装饰者log_method的作品。我有问题log_class装饰。没有错误,也没有输出。 import traceback import inspect def log_method(func): def inner(*args, **kwargs):

    1热度

    1回答

    我有一个在App Engine上运行的Web服务器,它使用ndb进行数据存储。 的数据模型看起来是这样的: @acl class MyModel(ndb.Model): ... access_control = ndb.JsonProperty(default={}) 我用@acl装饰,以增加我的模型有一些访问控制方法。 的装饰看起来是这样的: def acl(model