擅长:python、mysql、java
<p>这就是函数和绑定方法之间的区别,其中“绑定”是指实例<code>self</code>。要解决您的问题,您需要使独立函数<code>MethodType</code>:</p>
<pre><code>from types import MethodType
a.func2 = MethodType(func, a)
</code></pre>
<p>这将<code>func</code>绑定到<code>ManClass</code>实例<code>a</code>,允许它访问任何实例属性。注意,这个<em>只影响<code>a</code></em>,其他<code>ManClass</code>实例将保留原始的类定义,除非进行类似的修补。你知道吗</p>
<p>当你简单地附加函数</p>
<pre><code>a.func2 = func
</code></pre>
<p>您仍然可以访问它:</p>
<pre><code>a.func2(None) # will print "hello2 \n"
</code></pre>
<p>但是它没有得到隐式对象实例<code>self</code>参数,只是将其作为标准的位置参数。你知道吗</p>