擅长:python、mysql、java
<p>包装函数<em>没有</em>获取原始函数的参数。它可以(通常是)选择传递给原始函数的参数。你知道吗</p>
<p>当您执行<code>myprint = makeitalic(myprint)</code>时,名称<code>myprint</code>现在是指包装函数。它不再引用前面定义为<code>myprint</code>的函数。你知道吗</p>
<p>因此,当您调用<code>myprint('hii')</code>时,您正在调用包装函数。原始函数还没有参数,因为它从未被调用过。你知道吗</p>
<p>在<code>wrapped</code>内部,调用<code>f</code>。这是原始函数,您传递它<code>args[0]</code>,即<code>'hii'</code>。所以,现在调用原始函数。它获取包装函数的第一个参数,因为这是您选择传递它的参数。你知道吗</p>