擅长:python、mysql、java
<p>函数是python中的第一类对象,因此可以执行以下操作:</p>
<pre><code>def prepare_funcs(number):
def inc(a):
return number + a
def mult(a):
return number * a
return inc, mult
inc5, mult5 = prepare_funcs(5)
inc2, mult2 = prepare_funcs(2)
inc5(2) #Out: 7
mult2(10) #Out: 20
</code></pre>
<p>对于特定的上下文,还应该检查<a href="https://docs.python.org/2/library/functools.html" rel="nofollow">functools</a>模块,特别是分部函数。使用它,您可以“部分”准备函数的参数,如下所示:</p>
<pre><code>right_of_5 = functools(right_of, 5)
right_of_5(b, c)
</code></pre>
<p>这样就行了,因为第5个参数的右\u将自动用数字5填充第一个参数-a-的右\u。你知道吗</p>