擅长:python、mysql、java
<p>你可以以装饰师为基础:</p>
<pre><code>import functools
from outer.space import some_func
def with_some(f):
@functools.wraps(f)
def wrapper(param1, param2, param3, *args):
new_args = f(*args)
return some_func(param1+param2, param3, *new_args)
return wrapper
@with_some
def callback_A():
return () # Will call some_func(param1 + param2, param3)
...
@with_some
def callback_B(param4):
return param4, # some_func(param1 + param2, param3, param4)
</code></pre>
<p>包装好的函数都有签名<code>f(param1, param2, param3, *args)</code></p>