2

在 Jupyter Notebook 上并使用 ipywidgets 我可以使用紧凑版本创建滑块

import ipywidgets as ip
def f(x):
    print(x)
ip.interact(f, x = (0, 1, 1))

滑块的默认值为 0,但我想将其设为 1。我该怎么做?

4

2 回答 2

10

小部件缩写(使用元组请求滑块等)仅公开可以传递给小部件的选项的一小部分。默认值来自函数定义中的默认值(如果可用),或者来自范围的中心(如果不可用)。如果您不想更改现有函数的签名以为其提供默认参数,则有两个选项可以指定初始值:

  1. 将您的函数包装在另一个指定默认值的函数中:

    def f(x, y):
        print(x, y)
    
    @interact(x=(0, 5), y=(-1.,3.))
    def g(x=1, y=2.0):
        return f(x, y)
    
  2. 直接实例化一个 Widget 并指定value属性,而不是依赖缩写:

    w = widgets.IntSlider(value=1, min=0, max=1)
    interact(f, x=w)
    
于 2016-07-05T08:15:25.600 回答
4

在函数定义中设置默认值应该可以:

import ipywidgets as ip
def f(x=1):
    print(x)
ip.interact(f, x = (0, 1, 1))
于 2016-07-01T10:50:56.003 回答