class C():
def A(self):
mm=[]
kk=[]
x="Y"
while x=="Y":
x=input("do you have any stuff?[Y/N]: ")
if x=="N":
break
mm.append(input("enter the name of the thing: "))
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])
shr = C()
shr.A()
shr.printing()
代码给出了一个属性错误, “C”对象没有属性“mm” 有人知道如何解决这个错误吗
如果需要类字段,则必须将它们放在
__init__
方法中。 在您的情况下,您应该这样做:您可以在
__init__
内创建变量。此变量称为实例变量,属于对象实例。^ {CD1}方法与C++和java中的构造函数类似。p>例1
您还可以在
__init__
类之外创建变量。实际上,这些变量是静态类变量,因此类的所有实例都可以访问它们。它们可以通过类引用(例如:ClassName.varname
)读取,并且可以通过使用类名(Classname.varname= X
)开头的任何方法进行设置它也可以通过
self.varname
读取,为所有实例生成相同的值。但是,当通过实例引用(如self.varname = X
)指定一个值时,将仅为该实例创建一个新的self.varname
,从而模糊了类变量例2:
相关问题 更多 >
编程相关推荐