擅长:python、mysql、java
<p>如果<code>self.y</code>没有在<code>__init__</code>之前赋值,那么这只能是<code>class-attribute</code>(可能是继承的)。<code>self</code>通常表示类的实例,但是<code>instance-attributes</code>首先在<code>init()</code>中初始化。如果它不在那里,在这一点上它就不是<code>instance-attribute</code>。你知道吗</p>
<p>示例:</p>
<pre><code>class test :
y = 7 # scope: class
def __init__( self ):
self.x = self.y + 1 # scope: instance
a = test()
a.x # 8 # scope: instance
a.y # 7 # scope: instance, pulled from class
test.y # 7 # scope: class
</code></pre>
<p>对于你的研究:<a href="http://blog.lerner.co.il/python-attributes/" rel="nofollow noreferrer">In Python, it’s all about the attributes</a><br/>
(<em>关于类和实例属性之间差异的最佳解释,我到目前为止发现的</em>)</p>