我试图将函数的返回值存储在变量中。当按下 Raspberry Pi gpiozero 按钮时(通过引用)调用该函数。
from gpiozero import Button
from signal import pause
def fcn(a):
print(a)
b = a + 1
print(b)
return b
btn = Button(26)
i = 1
btn.when_activated = lambda: fcn(i) # returns 2
pause()
1
按下按钮时,它将2
按预期打印。
但是如何存储fcn
into的返回值,i
以便在每次按下按钮时递增?
编辑:我开始when_activated
参考的原因是在我的主脚本中,我有多个按钮和多个功能,可以按任何顺序按下,并且应该将变量相互传递。像这样的东西:
def fcn(a):
b = a + 1
return b
def fcn2(b):
c = b + 10
return c
btn1 = Button(26)
btn2 = Button(19)
i = 1
btn1.when_activated = lambda: fcn1(i) # returns i + 1
btn2.when_activated = lambda: fcn2(i) # returns i + 10
实际上我也在传递datetime
物体。