擅长:python、mysql、java
<p><strong>这个答案指的是编辑之前的问题;它可能不再合适了。</strong></p>
<p>实际上,这个问题是有解决办法的。在Python3中,可以直接将属性分配给绑定方法,而在Python2.7中,这并不是那么简单。你知道吗</p>
<p>看看这样的类定义:</p>
<pre><code>class Hello(object):
def hello(self):
print(self.hello.x)
</code></pre>
<p>在常规使用中(实例化并随后调用实例方法<code>hello()</code>),由于缺少属性<code>x</code>,实现将失败:</p>
<pre><code>h = Hello()
h.hello()
>>> AttributeError: 'function' object has no attribute 'x'
</code></pre>
<p>将代码稍微更改(<strong>警告:</strong>破解)如下:</p>
<pre><code>class Hello(object):
def hello(self):
if not hasattr(self.hello, 'x'):
self.hello.__dict__['x'] = 0
print(self.hello.x)
</code></pre>
<p>将允许您像往常一样使用类实现:</p>
<pre><code>h = Hello()
h.hello()
>>> 0
print(h.hello.x)
>>> 0
</code></pre>
<p>因此,您可以<em>将属性绑定到绑定的方法,但是您尝试的方式只适用于python3。你知道吗</p>
<p><strong>不管这对你有什么好处,你可能会想问问自己,这是否是实现所需行为的最佳方式。</strong></p>