擅长:python、mysql、java
<p>属性“variable”是一个局部属性,您只能在_init__;()方法内部访问它。事实上,如果您修改类并添加“print(locals)”</p>
<p>一流的班级:</p>
<pre><code>def __init__(self,value):
self.var = value
variable = 1
print(locals())
</code></pre>
<p>您可以看到该属性存在于方法内部。但是如果你得到一个类的实例,然后写</p>
<pre><code>c = classy(10)
print(c.__dict__)
</code></pre>
<p>或</p>
<pre><code>print(dir(c))
</code></pre>
<p>您可以看到“变量”并没有在实例范围中声明。因此,“variable”仍然是一个dinamic属性,因为您在方法内部编写它(它不是静态的),但它和“var”之间的区别在于,您只能在<strong>init</strong>()方法内部使用“variable”</p>
<p>你可以试着写</p>
<pre><code>class classy:
def __init__(self,value):
self.var = value
variable = 1
def __increment__(self):
self.var +=variable
c = classy()
c.__increment__()
</code></pre>
<p>请注意,您既不能在同一类中的另一个方法中使用它</p>