python-decorators

    1热度

    1回答

    我写了一个装饰器来打印由某个函数调用产生的递归树。 from functools import wraps def printRecursionTree(func): global _recursiondepth _print = print _recursiondepth = 0 def getpads(): if _recursiond

    3热度

    3回答

    合同:函数将函数作为参数并返回函数[即已修改(或相同)版本的函数]。例如,通过函数,这里是square。 @floatify def square(n): return n*n 是装饰者是否只返回传递函数的装饰版本,但没有别的?

    -1热度

    2回答

    我有这样的代码: def foo(bar): def test(some_string): return 'Decorator test: '+bar(some_string) return test def main(): print(bar('test1')) @foo def bar(some_string): return

    3热度

    1回答

    我在阅读关于装饰器,并试图混合这两个例子,并使他们类装饰器,而不是常规功能。第一个函数只允许你为每个参数运行一次函数,第二个函数计算你运行该函数的次数。他们都工作很好分开,但当我试图装饰一个简单的功能与两个在同一时间失败......或不真正失败,但打印一个意想不到的错误结果。我做了一些阅读,发现functools模块可以帮助,但我不知道如何。 from functools import updat

    2热度

    2回答

    给定一个函数的参数a和其它两个参数(pickle_from,pickle_to),我想: 负载并返回位于pickle_from酸洗对象,如果pickle_from不是None。如果是None,则计算a的某个函数并将其返回。 如果pickle_to不是None,则将上述结果转储到pickle_to。 使用单一功能很简单。如果pickle_from不为null,则该函数仅加载pickled结果并将其返

    0热度

    1回答

    我想创建一个装饰器,它可以让函数在其自己的线程中运行。 而且我也想使用一个队列作为装饰器的arg,这样我就可以得到函数的返回值。 像这样: import queue result = queue.Queue @thread(result) def function(args): print ("Hello World!") return args function("H

    2热度

    1回答

    我有以下代码: 装饰器: def pyDecorator(func): print func @wraps(func) def wrapped(*args, **kwargs): print args print kwargs tBegin = time() result = func(*args, **kwargs)

    2热度

    1回答

    我正在使用装饰器来做一些上下文管理,如文件备份,在我的项目中恢复排序,并尝试使用装饰器来达到这个目的。 但我不明白如何在运行时将参数传递给装饰器。 例如我的类会是什么样子: class myLogFileHandler: def __init__(self,file): self.file=file return @copyAndRestoreFile

    -2热度

    1回答

    如果被调用的底层sql脚本过于噪杂,我已经编写了此代码来装饰函数。 gp_info_decorator(function)修改execute_gp_func()以禁止来自sql脚本的消息。相反,它只是将结果存储在Status变量中。 但是,装饰函数返回None而不是当前日期。 import sys import psycopg2 import json import os #import

    0热度

    1回答

    我得到了Python装饰器的基本原理,我喜欢它的语法。但是,他们似乎对你能做的事情有一点限制。 有没有一种优雅的方式去处理多个函数,如下面的参数? def parent_fn(child_fn1, child_fn2): def wrapper(): print('stuff is happening here') child_fn1() print(