Почему функция my, вызываемая кнопкой ipywidget, не возвращает вывод? - PullRequest
1 голос
/ 14 мая 2019

Я использую кнопку для вызова функции, но вывод функции не сохраняется.

Я создаю интерактивный блокнот Jupyter, предназначенный для выполнения функций при нажатии кнопок. Например, первая кнопка называется "Get data", которая создаст новые переменные. Затем вторая кнопка, "Analyze data" будет выполнять некоторый анализ переменных. Проблема в том, что вывод «Get data» не сохраняется вне функции.

# GET DATA
get_data_button = widgets.Button(description='Get Data')

def get_data(b):

    data = 10
    print(data)

    return data

# DISPLAY BUTTON
get_data_button.on_click(get_data)
display(get_data_button)

Я ожидаю, что после функции я смогу сделать

print(data)

и возврат 10

вместо этого говорится:

имя 'данные' не определено

1 Ответ

1 голос
/ 18 мая 2019

Не уверен, что вы смогли заставить это работать, но это сработает и позволит вам использовать выходные данные вне переменной.

# GET DATA
get_data_button = widgets.Button(description='Get Data')

def get_data(b):
    get_data.data = 10
    print(get_data.data)

    return get_data.data

# DISPLAY BUTTON
get_data_button.on_click(get_data)
display(get_data_button)

Нажатие кнопки выводит 10

И вы можете получить доступ к выходу вне функции, используя:

get_data.data

Пожалуйста, дайте мне знать, если это работает сейчас

...