【问题标题】:Jupyter Notebook: how to use ipython widget variable outside the functionJupyter Notebook:如何在函数外使用 ipython 小部件变量
【发布时间】:2020-03-06 20:18:10
【问题描述】:

我正在使用 ipython 小部件的交互功能,我想将选择用作函数外的变量。例如

import ipywidgets as widgets
from ipywidgets import interact, interactive
list1 = ['ABC','DEF','GHI']

@interact
def uni_systems(items = list1):
    choice = items

它给了我一个交互式的 dropout。现在我喜欢在函数之外使用选择或我的 dropout 选择,但它还没有定义。如何在函数之外使用它进行任何进一步的处理

【问题讨论】:

  • 找到解决办法了吗

标签: python pandas jupyter-notebook widget ipython


【解决方案1】:

一种比全局变量封装得更好的解决方案是将结果分配给函数的一个属性:

@interact
def uni_systems(items = list1):
    uni_systems.choice = items

uni_systems('foo')
print(uni_systems.choice)

在第一次调用函数之前尝试访问结果将引发AttributeError。

【讨论】:

    【解决方案2】:

    IIUC,在函数内赋值之前插入global choice 语句。基本上,将其创建为全局变量,以便您可以在函数外部使用它

    【讨论】:

    • 任何其他方式,我想避免使用全局变量
    猜你喜欢
    • 2018-03-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-10-25
    • 2018-04-23
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多