为什么ipywidget按钮调用的my函数不返回输出?

时间:2019-05-14 17:31:51

标签: python function button jupyter-notebook ipywidgets

我正在使用按钮来调用函数,但是该函数的输出似乎未保存。

我正在创建一个交互式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 个答案:

答案 0 :(得分:0)

不确定是否能够使它正常工作,但这会工作,然后允许您使用变量外部的输出。

# 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

请让我知道现在是否有效