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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值