Я пытаюсь получить возвращаемое значение функции, хранящейся в переменной. Функция вызывается (по ссылке), когда нажата кнопка 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
в i
, чтобы оно могло увеличиваться при каждом нажатии кнопки?
Edit: причина, по которой я начал со справки 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
объекты.