假设我使用 Ipython 笔记本通过 Scipy 工厂进行了复杂的数值计算。现在,我想从 Javascript 代码中调用 Scipy 计算产生的变量(仍在 IPYNB 中)。
下面是我愿意完成的事情的简单说明:
# Get a vector of 4 normal random numbers using numpy - the variable 'rnd'
import numpy as np
mu, sig = 0.05, 0.2
rnd = np.random.normal(loc=mu, scale=sig, size=4)
现在,我想在 Javascript 中使用上面的变量 rnd
,用于说明目的:
%%javascript
element.append(rnd);
上面的行返回消息错误:ReferenceError:rnd未定义
。
那么,如何在 Ipython Notebook 中的 javascript 代码中使用 python 变量呢?
最佳答案
使用 %%Javascript
单元格魔法可能无法做到这一点。但是,您可以使用 IPython.display.Javascript(...)
方法将 Python 字符串注入(inject)浏览器
输出区域。这是对您的代码片段的修改,似乎可以回答您的问题。
from IPython.display import Javascript
import numpy as np
mu, sig = 0.05, 0.2
rnd = np.random.normal(loc=mu, scale=sig, size=4)
## Now, I want to use the variable rnd above in Javascript, for illustrative purpose:
javascript = 'element.append("{}");'.format(str(rnd))
Javascript(javascript)
将此代码粘贴到输入单元格中,每次执行该单元格时都会生成一个新的不同数组 随机数将显示在输出单元格中。
(代码已使用 IPython 2.2 版进行测试)
关于ipython - 如何在 ipython 笔记本中的 javascript 代码中使用 python 定义的变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26207668/