ipython - 如何在 ipython 笔记本中的 javascript 代码中使用 python 定义的变量?

标签 ipython jupyter-notebook

假设我使用 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/

相关文章:

python - Jupyter笔记本: Register mouse position clicks (moves) on a displayed image (jpg/png)

ipython - 我可以使用 JavaScript 作为单元中的语言来创建 iPython 笔记本吗?

python - 来自 python worker :/bin/python: No module named pyspark 的错误

python - 使用列表索引号循环

python - 一旦另一个单元完成,就评估一个单元

jupyter-notebook - 即使页面关闭,也要运行 jupyter notebook

python - 从 Jupyter Notebook 中安装 pip 包不起作用

python - 如何以编程方式退出在 eval() 或 exec() 中启动的 pdb 而不显示输出

python - Jupyter(iPython Notebook)界面屏幕底部出现奇怪的白条

python - Jupyter 笔记本 : (OperationalError ('disk I/O error' , ))