如何正确创建类全局变量

时间:2017-01-16 22:17:43

标签: python

为什么以下计数器不起作用,以及如何解决它:

class Test():
   def __init__(self):
       self.counter = 0

   def increment(self):
       print counter++

谢谢。

3 个答案:

答案 0 :(得分:1)

++无效python

,您需要self.counter += 1

答案 1 :(得分:1)

在类中使用变量,以self开头。

class MyCounter():
   def __init__(self, number):
       self.counter = number

   def increment(self):
       self.counter += 1
       print(self.counter)

[IN] >>> counter = MyCounter(5)
[IN] >>> print(counter.increment())
[OUT] >>> 6

答案 2 :(得分:0)

你可以使用_init __

class C:
    counter = 0
    def __init__(self):
        C.counter += 1

class C:
    counter = 0
    @classmethod
    def __init__(cls):
        cls.counter += 1

或使用其他方法,如

class C:
    counter = 0

    @classmethod
    def my_function(cls):
        cls.counter += 1