在 Python 中,有没有一种很好的方法可以将装饰器(或类似的东西)应用到函数体的一个子段而不是整个函数?
我想要的可能看起来像这样:
def deco_double(f):
def wrapper():
f()
f()
return wrapper
def foo():
@deco_double:
print("hello")
print("stack")
@deco_double:
print("overflow")
foo()
所以执行结果如下:
hello
stack
hello
stack
overflow
overflow
如果解决方案不完全是装饰器也没关系,我需要的是一种包装函数子段的方法,但要以一种很好的抽象方式。先感谢您 :)
编辑: 只是分成多个功能对我来说不是一个选择。我正在为程序员开发一个框架,我希望他们以紧凑的方式编写函数(用于在示例中编写 foo()。此外,我实际上在做的事情远比重复复杂得多)
编辑2: 现在看来我别无选择,只能期望框架用户以某种方式声明命名函数......
宝慕林4294392
达令说
相关分类