0
python的装饰者是一种甜蜜的糖。我用它来宏这样的函数定义。python是否支持运行时装饰器?
@logger(level="debug")
foo(var)
或
@repeat(3)
foo(var)
他们翻译foo的功能解析时间,宏观相似。但我正在寻求在运行时使用装饰的自由。
foo(var)
或(注 - 在执行时富(),而不是定义富应用装饰())
@logger(level="debug")
@repeat(5)
foo(var)
Q1)是否蟒蛇给这样的自由正式?我不喜欢使用解决方法,因为我将来会添加/使用更多装饰器。 Q2)如果不是,下面是让自由发生的直接方式吗?如何处理* args和** kwargs?
temp_foo = logger(level="debug", repeat(5, foo, *args))
temp_foo(var)
Q3)python是否有建议支持运行时装饰器?或者可能有一些想法?
谢谢
装饰器在运行时在Python评价:http://stackoverflow.com/questions/739654/how-can-i-make-a-chain-of-function-decorators-in-python也许不在Java中。 – User
我之前阅读过739654。我应该给出更具体的运行时解释。我期望的RUNTIME执行函数foo(),而不是定义它。 –