gpt4 book ai didi

python-3.x - 返回执行函数的输出 'on_click'

转载 作者:行者123 更新时间:2023-12-03 20:31:43 24 4
gpt4 key购买 nike

如何获取执行的函数的输出on_click来自 ipywidgets.Button 在下一步中使用的函数之外?比如我想取回a的值每次点击后在 jupyter-notebook 的下一个单元格中使用。到目前为止我只得到None .

from ipywidgets import Button
def add_num(ex):
a = b+1
print('a = ', a)
return a

b = 1
buttons = Button(description="Load/reload file list")
a = buttons.on_click(add_num)
display(buttons)
print(a)

最佳答案

我发现做这种事情的最好方法是创建一个 widgets.Button 的子类。然后添加一个新的 traitlet属性 。这样,您可以在创建新按钮对象时加载要对其执行操作的值。您可以访问这个新 traitlet随时随地的属性外面的功能。这是一个例子;

from ipywidgets import widgets
from IPython.display import display
from traitlets import traitlets

class LoadedButton(widgets.Button):
"""A button that can holds a value as a attribute."""

def __init__(self, value=None, *args, **kwargs):
super(LoadedButton, self).__init__(*args, **kwargs)
# Create the value attribute.
self.add_traits(value=traitlets.Any(value))

def add_num(ex):
ex.value = ex.value+1
print(ex.value)

lb = LoadedButton(description="Loaded", value=1)
lb.on_click(add_num)
display(lb)

loaded button example screenshot
希望有帮助。如果这不能解决您的问题,请在下面发表评论。

关于python-3.x - 返回执行函数的输出 'on_click',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45188464/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com