跳转到主要内容

IPython的一个扩展,可以嵌入pythontutor iframe,用于展示当前单元格中的代码。

项目描述


jupytext: cell_metadata_filter: all,-hidden,-heading_collapsed formats: md:myst notebook_metadata_filter: all,-language_info,-toc,-jupytext.text_representation.jupytext_version,-jupytext.text_representation.format_version text_representation: extension: .md format_name: myst kernelspec: display_name: Python 3 language: python name: python3

许可 CC BY-NC-ND - Thierry Parmentelat

+++

在Jupyter中嵌入pythontutor.com插图

此笔记本以文本(Markdown)格式存储,请确保已安装此工具,如果要在本地打开它

+++

安装

$ pip3 install ipythontutor

+++

屏幕截图

由于GitHub无法渲染嵌入在ipynb中的iframe,这里是一个屏幕截图

+++

基本用法

# required to load the extension
%load_ext ipythontutor

在其最简单的形式中,单元格中的代码(作为python3)被传递给优秀的http://pythontutor.com/

%%ipythontutor
original = reference = [1, 2]
original[0] = 'boom'
print(reference)

设置大小

%%ipythontutor height=400 width=850
def fact(n):
    return 1 if n <= 1 else n * fact(n-1)
original = [fact(3), fact(4)]
reference = original[:]
original[0] = 'boom'
print(reference)

缩放

如果你的页面小于pythontutor可以合理工作的页面大小,你可以指定一个缩放比例。

%%ipythontutor width=600 height=200 ratio=0.7
import copy
original = [1, [2, 3]]
reference = copy.deepcopy(original)
original[1][0] = 'boom'
print(reference)

添加一个按钮在新标签页中打开pythontutor

%%ipythontutor linkButton=true
def fact(n):
    return 1 if n <= 1 else n * fact(n-1)
original = [fact(3), fact(4)]
reference = original[:]
original[0] = 'boom'
print(reference)

其他设置

以下列表显示了可以在魔术行中调整的设置。有关这些设置的更多详细信息,请参阅有关嵌入pythontutor的页面

from ipythontutor import Magics
for var, default in Magics.defaults.items():
    print(f"{var:>20} - defaults to - {default:<}")

关于proto的说明

默认情况下,使用https连接到pythontutor,因为这在大多数情况下都有效。如果这对您不起作用,您不必在每个魔术单元格中设置proto=http,而是可以全局更改它 - 就像任何其他默认设置一样 - 这样

from ipythontutor import Magics
Magics.defaults['proto'] = 'http'

使用python2

%%ipythontutor py=2
print "Hey"
original = [1, 2]
copy = original[:]
original[0] = 'boom'

另请参阅

查看另一种纯方法,它不依赖于pythontutor,请参阅nbtutor项目

项目详情


下载文件

下载适合您平台文件。如果您不确定选择哪个,请了解更多关于安装包的信息。

源分发

ipythontutor-0.2.0.tar.gz (105.1 kB 查看哈希值)

上传于

构建分发

ipythontutor-0.2.0-py3-none-any.whl (4.4 kB 查看哈希值)

上传于 Python 3

由以下支持