【发布时间】:2014-10-24 11:04:38
【问题描述】:
我的问题基于交互式小部件文档中的this example,该文档使用IPython.html.widgets.interactive 创建用于探索音频节拍的交互式小部件。这是创建小部件的调用:
v = interactive(beat_freq, f1=(200.0,300.0), f2=(200.0,300.0))
beat_freq 是这样定义的:
def beat_freq(f1=220.0, f2=224.0):
...
我对这行代码特别困惑:
f1, f2 = v.children
作者怎么知道子小部件的顺序是(f1, f2),而不是(f2, f1)?仅仅是因为这是他们在创建小部件的交互调用中的顺序吗?或者它是从他们在beat_freq的调用签名中的顺序派生出来的?如果我在 v 创建后添加和删除小部件会怎样?
说实话,我并不真正关心这些问题的答案。我只是想要一种方法来识别与每个变量对应的小部件。我想一定有一种方法可以通过检查ContainerWidgetv 来解决这个问题,而不必知道它是如何创建的。毕竟,v 本身显然知道,因为v.kwargs 是一个将变量名连接到值的字典,并且如果您摆弄小部件,它会相应地更改。不幸的是,这个模块中的文档字符串很少或根本不存在,我自己也无法解决。
【问题讨论】:
标签: python widget ipython ipython-notebook interactive