我很难绕过课程,并在我的代码中使它们正常运行。
我有一个树莓派,当按下按钮时试图让它计数。它只是非常简单,可以让我们了解如何在我的代码中学习类。
你能看看我,告诉我哪里出错。
非常感谢
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
答案 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的答案并将变量和函数一起放在一个类中。