我想知道我是否可以以交互方式运行一段代码。所以,例如,如果我有一个类(伪代码中的部分):
import numpy as np
class test(object):
def __init__():
self.a = np.random.randn(10)
print ## Interactive Output: Click me to view data array##
def show():
print a
因此,当我创建一个类实例时,它应该输出一些交互式链接(可能是html)或类似的东西,当我点击它时,应该调用show()
方法。但是,我不知道如何实现这一点。
答案 0 :(得分:1)
您可以使用笔记本附带的小部件(jupyter they are an independent package)。
像这样的东西可以做你想要的(Python 3):
from IPython.html import widgets
from IPython.display import display
import numpy as np
class Test(object):
def __init__(self, arraylen):
self.a = np.random.randn(arraylen)
self.button = widgets.Button(description = 'Show')
self.button.on_click(self.show)
display(self.button)
def show(self, ev = None):
display(self.a)
self.button.disabled = True
test = Test(10)
widgets.Button(description = 'Show')
button.on_click(self.show)
display(self.button)
show
方法中,我提供了一种在显示数组self.button.disabled = True
后禁用按钮功能的方法。如果要显示阵列的更多次,可以对此行进行注释。