我试图通过调用函数"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)
我建议将其作为对象属性