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 查看哈希值)
关闭
ipythontutor-0.2.0.tar.gz 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 32a1c6a6095b5ad0b6e993b6a3ce2a468f22f23bed106bb6c3799b85d3a7b7f9 |
|
MD5 | d81e2c41148bf8c250779de2b4df426a |
|
BLAKE2b-256 | aebde6908a8cdea67611aeaea3e01b48a47c3b33ae6e6799dd88fab2959c01b1 |
关闭
ipythontutor-0.2.0-py3-none-any.whl 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 527792d2a248dc9c514e8b7e5cfec0314a745fb4841bb0537b4f853f1d8c4981 |
|
MD5 | 5b2a28c461b5951d9c46e15829ab7460 |
|
BLAKE2b-256 | 45161ea0243040a6f96a2b33d16395ca92b894d67ec36491c8100750d25c0d8d |