Python代码可视化分析工具
pythontutor
- 网站:https://pythontutor.com
两种模式
- Visualize Execution:写完代码后点击Visualize Execution才开始执行。
- Live Programming Mode:点击进入后,一边写代码一边运行。
使用介绍
界面构成
指令操作
- 如果嫌显示的变量太多,可以进行屏蔽,在代码中增加#pythontutor_hide:变量名
- 在某一行后加#break,可以默认在此行设置断点。
Pyheat库
使用介绍
- Pyheat 是一个开源的 Python 库,帮助开发人员获得代码执行的逐行时间分布。
- Pyheat用热图表示运行每行代码所需的时间。
使用方法
from pyheat import PyHeat
ph = PyHeat('simple.py') # 需要分析的python文件名
ph.create_heatmap()
ph.show_heatmap()
结果显示
heartrate库
使用介绍
- 可视化哪些行被执行以及执行了多少次。
使用方法
import heartrate
heartrate.trace(browser=True)
def foo(n):
sum = 0
for i in range(n):
sum += i
return sum
print(foo(1000000))
结果显示
snoop库
使用介绍
— 通过添加一个装饰器来打印正在执行的代码行以及每个变量的值。
#在执行的结果中以文本形式列出了每一步的执行结果
import snoop
@snoop
def foo(n):
sum = 0
for i in range(n):
sum += i
return sum
print(foo(3))
result:
12:01:34.95 ...... n = 3
12:01:34.95 3 | def foo(n):
12:01:34.95 4 | sum = 0
12:01:34.95 5 | for i in range(n):
12:01:34.95 .......... i = 0
12:01:34.95 6 | sum += i
12:01:34.95 5 | for i in range(n):
12:01:34.95 .......... i = 1
12:01:34.95 6 | sum += i
12:01:34.95 .............. sum = 1
12:01:34.95 5 | for i in range(n):
12:01:34.95 .......... i = 2
12:01:34.95 6 | sum += i
12:01:34.95 .............. sum = 3
12:01:34.95 5 | for i in range(n):
12:01:34.95 7 | return sum
12:01:34.95 <<< Return value from foo: 3
算法可视化
https://visualgo.net/zh