<p>您可以在<code>__init__</code>内创建变量。此变量称为<em>实例变量</em>,属于对象实例。^ {CD1}方法与C++和java中的构造函数类似。p>
<p>例1</p>
<pre><code>class C:
def __init__(self):
self.mm = []
self.kk = []
self.x = 'Y'
def A(self):
while self.x == "Y":
self.x=input("do you have any stuff?[Y/N]: ")
if self.x=="N":
break
self.mm.append(input("enter the name of the thing: "))
self.kk.append(input("Enter the value of the thing: "))
def printing(self):
print("="*100)
print("stuff")
for i in range(0,len(self.mm)):
print(self.mm[i]," "*20,self.kk[i])
</code></pre>
<p>您还可以在<code>__init__</code>类之外创建变量。实际上,这些变量是静态类变量,因此类的所有实例都可以访问它们。它们可以通过类引用(例如:<code>ClassName.varname</code>)读取,并且可以通过使用类名(<code>Classname.varname= X</code>)开头的任何方法进行设置</p>
<p>它也可以通过<code>self.varname</code>读取,为所有实例生成相同的值。但是,当通过实例引用(如<code>self.varname = X</code>)指定一个值时,将仅为该实例创建一个新的<code>self.varname</code>,从而模糊了类变量</p>
<p>例2:</p>
<pre><code>class C:
mm = []
kk = []
x = 'Y'
def A(self):
while self.x == "Y":
self.x=input("do you have any stuff?[Y/N]: ")
if self.x=="N":
break
self.mm.append(input("enter the name of the thing: "))
self.kk.append(input("Enter the value of the thing: "))
def printing(self):
print("="*100)
print("stuff")
for i in range(0,len(self.mm)):
print(self.mm[i]," "*20,self.kk[i])
</code></pre>