名称错误: 未定义名称'count'



我试图通过调用函数"increase"来获取全局变量"count"的值,但它给出了一个错误-"NameError:name"count"未定义"。我做错了什么?

class sampleclass: 
count = 0  # class attribute 
def increase(self):
global count 
count += 1
# Calling increase() on an object 
s1 = sampleclass() 
s1.increase()        
print(s1.count)

试试这个:

class sampleclass: 
count = 0  # class attribute 
def increase(self):
self.count += 1
# Calling increase() on an object 
s1 = sampleclass() 
s1.increase()        
print(s1.count)

无法使用global访问count。你必须使用self或者,如果你想显式,那么这样做:

class sampleclass: 
count = 0  # class attribute 
def increase(self):
sampleclass.count += 1
# Calling increase() on an object 
s1 = sampleclass() 
s1.increase()        
print(s1.count)

可以这样做是因为count是一个类变量。您也可以像那样从类外部访问count

正如您所写的,它是代码注释中的一个类属性。

class sampleclass: 
count = 0  # class attribute 
def increase(self):
sampleclass.count += 1
# Calling increase() on an object 
s1 = sampleclass() 
s1.increase()        
print(s1.count)

我建议将其作为对象属性

最新更新