擅长:python、mysql、java
<p>您可以使用<strong><a href="https://docs.python.org/3/library/functools.html#functools.partial" rel="nofollow noreferrer">functools.partial</a></strong>来实现这一点!在</p>
<pre><code>def print2(f):
x = np.linspace(0,1,10)
print(f(x))
f2 = functools.partial(f, a=1, b=2)
print2(f2)
</code></pre>
<p>关于使用partial可以获得的许多好处,请参见<a href="https://stackoverflow.com/questions/3252228/python-why-is-functools-partial-necessary">this</a>。在</p>
<p>简而言之:</p>
<ul>
<li>部分允许自省,你可以知道你设置了什么值。在</li>
<li>在标准库的许多方面都支持部分,并且是<a href="https://docs.python.org/3/library/asyncio-eventloop.html#asyncio.loop.call_soon_threadsafe" rel="nofollow noreferrer">recommended by modules such as asyncio</a>。在</li>
<li>部分可以是<a href="https://stackoverflow.com/a/19279016/1658617">pickled unlike lambda</a>。在</li>
<li>部分是完全固定的,不需要使用可能<a href="https://stackoverflow.com/a/3252364/1658617">cause the fixation to change</a>的闭包变量。在</li>
<li>分部是<a href="https://stackoverflow.com/a/24653777/1658617">faster to execute</a>。在</li>
</ul>
<p>还有更多。。。在</p>