Frage zu Micropython

Hallo, ich bin gerade über dieses MiniMicroPythonScript gestolpert

from calliopemini import *
import music
@run_every(s=5)

def tick():
music.play(music.BA_DING)

while True:
sleep(1000)

Weiss jemand für was das “@” steht?

Damit kennzeichnest du einen Decorator. In deinem Beispiel @run_every(s=5) ist der Decorator dafür zuständig, deine Funktion automatisch alle 5 Sekunden auszuführen, also eine Art „Timer“ um die eigentliche Funktion herum.

1 „Gefällt mir“

Danke, einen “@Dekorator” kannte ich noch nicht. Anscheinend kann man mit @run_every() mehrere Routinen quasi simultan durchlaufen lassen, ähnlich dem forever in Makecode.