正在 class 中初始化 Class 个实例

Initializing Class instance within a class

side counter class 中的整个计数器方法列表都不起作用。我希望 setcap 设置上限,并检查上限以查看每个计数器是否已达到其限制,因为时分秒是时钟应该知道的我想在时钟内初始化它们。

import time

class counter():
    count = 0
    cap = 0
    def _init_(self):pass
    def reset(self):
        self.count = 0
    def increment(self):
        self.count += 1
    def setcap(self,x):
        print x
        self.cap = x
    def checkcap(self):
        if self.cap > self.count:
            return False
        else:
            return True
class clock():
    _hr = counter()
    _min = counter()
    _sec = counter()
    def _init_(self):
        self._hr.setcap(23)
        self._min.setcap(59)
        self._sec.setcap(59)
    def manualreset(self):
        self._hr.reset()
        self._min.reset()
        self_sec.reset()
    def tick(self):
        if self._sec.checkcap():
            self._sec.reset()
            self._min.increment()
            if self._min.checkcap():
                self._min.reset()
                self._hr.increment()
                if self._hr.checkcap():
                    self._hr.reset()
        else:
            self._sec.increment()
newClock =  clock()

raw_input("Press enter to start clock")
while newClock._hr != 24:
    newClock.tick()
    print str(newClock._hr.count).zfill(2) + str(newClock._min.count).zfill(2) + str(newClock._sec.count).zfill(2)

您的代码中的一个问题是您的初始化函数是 init。 尝试使用

def __init__(self):
    pass

这应该可以解决您的一个问题