Python理解类

时间:2014-07-07 14:35:34

标签: python class loops

我很难绕过课程,并在我的代码中使它们正常运行。

我有一个树莓派,当按下按钮时试图让它计数。它只是非常简单,可以让我们了解如何在我的代码中学习类。

你能看看我,告诉我哪里出错。

非常感谢

class Vars(object):
    def __init__(self):
        self.count = 0

x = Vars()

class Count:
    def count(self):
        print x.count
        x.count += 1
        time.sleep(0.2)
    def countReset(self):
        x.count = 0
        time.sleep(0.2)

z = Count()

class Loop:
    def loop(self):
        if (pfio.digital_read(0) and count <= 8):
            z.count()
        if not (pfio.digital_read(0)):
            z.countReset()

x = Loop()

while (True):
    x.loop

2 个答案:

答案 0 :(得分:1)

虽然目前尚不清楚您认为自己有问题在哪里,但您确实有三个类可能只有一个:

class AllTogether(object):

    def __init__(self):
        self.count = 0

    def count(self):
        print self.count
        self.count += 1
        time.sleep(0.2)

    def reset_count(self):
        self.count = 0
        time.sleep(0.2)  

    def loop(self):
        if (pfio.digital_read(0) and count <= 8):
            self.count()
        if not (pfio.digital_read(0)):
            self.reset_count()

答案 1 :(得分:0)

我可以看到代码存在一些问题:

  • 您正在分配x = Vars(),然后再分配x = Loop()。现在,您对原始Vars对象的引用将丢失。尝试使用不同的名称。

  • 您应该使用x.loop而不是x.loop()。前一段代码只返回对函数的引用,而后者实际上调用它。

从那里我无法继续执行代码,因为我没有pfio。但这可能不是在Python中使用类的最佳示例。如果您正在尝试跟踪变量并将它们附加到特定对象上,那么最好使用jonrsharpe的答案并将变量和函数一起放在一个类中。