擅长:python、mysql、java
<p>你说:</p>
<blockquote>
<p>Simply because in this method, a reference is made to fields like POSITION, SIZE, etc without any prefixed self, yet the reference is needed if I use the field LAYOUT_MANAGER as an argument to the method SetSizerAndFit...</p>
</blockquote>
<p>从技术上讲,没有。对位置、大小等的引用不是在方法内部,而是在<code>def</code>行中。<code>def</code>行本身可以访问封闭作用域,因此它可以看到变量<code>POSITION</code>和<code>SIZE</code>,因为它们存在于封闭作用域(类主体)中。但是,方法的实际主体没有访问此范围的权限,因此需要使用self。你知道吗</p>
<p>这个范围上的差异与执行这两个的时间上的差异是平行的。<code>def</code>语句定义函数,当函数发生在源文件中时立即执行。在实际调用函数之前,不会执行<code>def</code>的主体。你知道吗</p>