Python 3.x 值不会在python中使用self.counter更新

Python 3.x 值不会在python中使用self.counter更新,python-3.x,Python 3.x,上面的代码将输出显示为10,但我使用change_计数器将计数器值更新为11。为什么不更新 有人能帮我一下吗?问题是,您正在访问一个静态变量。 当你写作时: print(demo.counter) 它总是打印数字10,因为它在demo类中是这样定义的 如果希望在调用obs.change\u counter()后更改值,则需要访问对象“obj”的值,而不是类demo 您犯的另一个错误是,您从未真正调用obj.change\u计数器,因为您忘记了函数调用的括号。语句obj.change_计数器在p

上面的代码将输出显示为10,但我使用change_计数器将计数器值更新为11。为什么不更新
有人能帮我一下吗?问题是,您正在访问一个静态变量。 当你写作时:

print(demo.counter)
它总是打印数字10,因为它在demo类中是这样定义的

如果希望在调用obs.change\u counter()后更改值,则需要访问对象“obj”的值,而不是类demo

您犯的另一个错误是,您从未真正调用obj.change\u计数器,因为您忘记了函数调用的括号。语句obj.change_计数器在python中不会抛出错误,但也不会产生任何效果

因此,与此相反:

obj = demo()
print(demo.counter)
obj.change_counter
print(demo.counter)
你必须这样做:

obj = demo()
print(obj.counter)    # <- notice the reference to the object
obj.change_counter()  # <- notice the brackets
print(obj.counter)
obj=demo()

打印(对象计数器)#
obj.change_计数器
应该是
obj.change_计数器()
,并且应该是
obj.counter
,而不是
demo.counter
请将代码作为文本而不是图像。