что делает оператор @ в этом коде (python 3.7.5). Я не могу понять

Я новичок в кодировании, и я не знаю, что делает большая часть этого кода, но я пытаюсь разобраться в этом, я просто хотел знать, что означает «@» или, скорее, что он делает. Заранее спасибо.

import pyglet
import pymunk
from pymunk.pyglet_util import DrawOptions

comprimento = 1280
altura=720
window = pyglet.window.Window(comprimento,altura, "Plano inclinado", resizable=False)
options= DrawOptions()

space = pymunk.Space()
space.gravity = 0 , -9.8

body = pymunk.Body(1,1666)
body.position  = 640,700
poly = pymunk.Poly.create_box(body)

space.add(body,poly)

@window.event
def on_draw():
    window.clear()
    space.debug_draw(options)

def update(dt):
    space.step(dt)

if __name__ == "__main__":
    pyglet.clock.schedule_interval(update,0.01)
    pyglet.app.run()```

person Rui Coito    schedule 26.11.2019    source источник
comment
Это декоратор функции.   -  person Barmar    schedule 27.11.2019
comment
python.org/dev/peps/pep-0318   -  person blhsing    schedule 27.11.2019