Уточнение обратных вызовов с помощью Plotly / Dash - PullRequest
0 голосов
/ 22 апреля 2020

Я следую их официальной документации (https://dash.plotly.com/basic-callbacks), но я очень запутался в обратных вызовах. Я не понимаю, как нет ссылки на update_output_div(), но она вызывается, независимо от того, переименовываете ли вы что-то еще. Кто-нибудь может уточнить?

Ответы [ 2 ]

2 голосов
/ 23 апреля 2020

Нет ссылки на эту функцию, потому что это просто имя для функции. Что вы должны рассмотреть, так это декоратор @app.callback().

Чтобы переформулировать sh идей о декораторах для функций и методов, вы можете прочитать PEP 318 .

1 голос
/ 23 апреля 2020

На самом деле это объясняется всеми буквами на той самой странице, на которую вы ссылались:

Каждый раз, когда изменяется свойство ввода, функция, которую оборачивает декоратор обратного вызова, будет вызываться автоматически . Da sh предоставляет функции новое значение входного свойства в качестве входного аргумента, а Da sh обновляет свойство выходного компонента в соответствии с тем, что было возвращено функцией.

Что касается того, как это работает: Python функции являются объектами, как и любые другие (так что вы можете передавать их в качестве аргументов и т. Д. c), а вещь

@decorator
def func():
    pass

просто синтактически c сахар для

def func()
func = decorator(func)

, поэтому очевидно, что декоратор app.callback здесь используется для хранения ссылки на декорированную функцию, поэтому Da sh может вызвать ее позже.

...