From this example
@app.callback(
    dash.dependencies.Output('output-container-button', 'children'),
    [dash.dependencies.Input('button', 'n_clicks')],
    [dash.dependencies.State('input-box', 'value')])
def update_output(n_clicks, value):
    return 'The input value was "{}" and the button has been clicked {} times'.format(
        value,
        n_clicks
    )
I have discovered this is called a "decorator" and according to this answer the most common ones are @property, @classmethod, and @staticmethod.
This example is none of those. app is an object which already exists. So, syntactically speaking (I'm looking for a Python answer, not a Dash answer), what does @object.method do?
 
    