Python 用于黑盒功能的交互/交互

Python 用于黑盒功能的交互/交互,python,jupyter-notebook,ipywidgets,Python,Jupyter Notebook,Ipywidgets,我有一个黑盒函数,它接受10个整数输入。该函数返回一个数据帧,我希望捕获输出窗口(通过使用bbwidget.children)并在布局中的其他位置显示。到目前为止,interactive/interactive似乎是这方面的赌注 我已经定义了一个小部件列表,用作函数的输入;我可以将此列表传递给interactive/interactive吗?从我到目前为止的尝试来看,我需要预先指定所有的输入小部件,并在调用interactive时单独传递它们 以下是我在概念上想要做的事情(仅在函数调用中使用di

我有一个黑盒函数,它接受10个整数输入。该函数返回一个数据帧,我希望捕获输出窗口(通过使用bbwidget.children)并在布局中的其他位置显示。到目前为止,interactive/interactive似乎是这方面的赌注

我已经定义了一个小部件列表,用作函数的输入;我可以将此列表传递给interactive/interactive吗?从我到目前为止的尝试来看,我需要预先指定所有的输入小部件,并在调用interactive时单独传递它们

以下是我在概念上想要做的事情(仅在函数调用中使用dictcomp来说明每个小部件映射到特定输入):


调用interactive/interactive是否有一些特殊的语法或选项可以实现这一点?

我想我找到了自己的答案:

import ipywidgets as ipyw
from IPython.display import display

def f(x,y):
    return x + y

x,y = 0,0
xwidget = ipyw.IntSlider(min=-10,max=30,step=1,value=10)
ywidget = ipyw.IntSlider(min=-10,max=30,step=1,value=10)
widgetdict = {k:v for k,v in zip(('x','y'),(xwidget,ywidget))}
testwidg = ipyw.interact(f, **widgetdict)
import ipywidgets as ipyw
from IPython.display import display

def f(x,y):
    return x + y

x,y = 0,0
xwidget = ipyw.IntSlider(min=-10,max=30,step=1,value=10)
ywidget = ipyw.IntSlider(min=-10,max=30,step=1,value=10)
widgetdict = {k:v for k,v in zip(('x','y'),(xwidget,ywidget))}
testwidg = ipyw.interact(f, **widgetdict)