Python理解类

2024-09-30 14:33:22 发布

您现在位置:Python中文网/ 问答频道 /正文

我很难集中注意力在类上,让它们在我的代码中发挥作用。在

我有一个覆盆子派,试图让它计数时,一个按钮按下。了解如何在代码中插入类只是一件非常简单的事情。在

你能帮我看看,告诉我哪里出错了吗。在

非常感谢

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

Tags: 代码selfloopiftimedefcountsleep
2条回答

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

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

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

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

虽然不清楚您认为您的问题具体在哪里,但您确实有三个类可能只是一个:

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()

相关问题 更多 >