广告
返回顶部
首页 > 资讯 > 后端开发 > Python >Python可视化程序调用流程解析
  • 569
分享到

Python可视化程序调用流程解析

2024-04-02 19:04:59 569人浏览 泡泡鱼

Python 官方文档:入门教程 => 点击学习

摘要

目录引言安装 graphviz 工具实战引言 今天我们来分享一个 python 领域的神级第三方库 -- pycallgraph,通过该库并结合 graphviz 工具,就可以非常方

引言

今天我们来分享一个 python 领域的神级第三方库 -- pycallgraph,通过该库并结合 graphviz 工具,就可以非常方便的完成 Python 应用程序调用流程的可视化工作

我们先来看下效果图

怎么样,很是惊艳吧~

下面我们就来一起完成这个可视化过程

安装 graphviz 工具

生成图片的过程,是依赖工具 graphviz 的,我们先进行下载安装

下载地址

www.graphviz.org/download/

详细对于 graphviz 工具,大家应该也熟悉了,我们以前通过该工具进行过决策树的可视化工作,具体可以看这里

数据分析入门系列教程-决策树实战

上面的链接一详细的安装配置过程,这里就不再赘述了

实战

接下来我们还需要安装两个Python依赖库

pip install pycallgraph

下面我们先写一个基础的代码

from pycallgraph import PyCallGraph
from pycallgraph.output import GraphvizOutput
class Banana:
    def eat(self):
        pass
class Person:
    def __init__(self):
        self.no_bananas()
    def no_bananas(self):
        self.bananas = []
    def add_banana(self, banana):
        self.bananas.append(banana)
    def eat_bananas(self):
        [banana.eat() for banana in self.bananas]
        self.no_bananas()
def main():
    graphviz = GraphvizOutput()
    graphviz.output_file = 'basic.png'
    with PyCallGraph(output=graphviz):
        person = Person()
        for a in range(10):
            person.add_banana(Banana())
        person.eat_bananas()
if __name__ == '__main__':
    main()

代码比较简单,定义了两个简单类,主要 pycallgraph 的核心代码在 main 函数中,在 with 代码块下,把我们定义的代码执行一遍即可

运行上面的代码,会在当前目录下生成 basic.png 图片文件

从生成的图片可以非常清晰的看出整个代码的运行过程,从 main 代码块到各个类的初始化,可以说一目了然

我们再来一个复杂一点的例子

import re
from pycallgraph import PyCallGraph
from pycallgraph import Config
from pycallgraph.output import GraphvizOutput
def main():
    graphviz = GraphvizOutput()
    graphviz.output_file = 'regexp.png'
    config = Config(include_stdlib=True)
    with PyCallGraph(output=graphviz, config=config):
        reo = compile()
        match(reo)
def compile():
    return re.compile('^[abetors]*$')
def match(reo):
    [reo.match(a) for a in Words()]
def words():
    return [
        'abbreviation',
        'abbreviations',
        'abettor',
        'abettors',
        'abilities',
        'ability',
        'abrasion',
        'abrasions',
        'abrasive',
        'abrasives',
    ]
if __name__ == '__main__':
    main()

代码同样不负责,不过在编译器内部是调用了 re 正则的,我们来看看最终生成的图片

可以看到整个代码过程复杂了很多,因为内部调用了很多正则内部函数等,但是整体还是非常清晰的

可以说这个神级第三方库,绝对是众多 Python 爱好者,尤其是刚刚入门 Python 领域的朋友的福音,当我们遇到某些不熟悉的较为复杂的代码块时,不妨使用该库来尝试一下可视化,看看能不能从中爆发灵感呢~

以上就是可视化Python程序调用流程解析的详细内容,更多关于可视化Python程序调用的资料请关注编程网其它相关文章!

--结束END--

本文标题: Python可视化程序调用流程解析

本文链接: https://www.lsjlt.com/news/120122.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Python可视化程序调用流程解析
    目录引言安装 graphviz 工具实战引言 今天我们来分享一个 Python 领域的神级第三方库 -- pycallgraph,通过该库并结合 graphviz 工具,就可以非常方...
    99+
    2022-11-11
  • 神器,轻松可视化 Python 程序调用流程
    我们先来看下效果图:怎么样,很是惊艳吧~下面我们就来一起完成这个可视化过程。1. 安装 graphviz 工具生成图片的过程,是依赖工具 graphviz 的,我们先进行下载安装。下载地址http://www.graphviz.org/do...
    99+
    2023-05-14
    可视化 代码 Python
  • FFmpeg 音频可视化解码流程详解
    目录一、解码流程1.1、解析音频信息1.2、从原始数据packet到frame1.3、从frame到PCM byte二、分贝计算三、实现效果一、解码流程 解码流程大致分为以下三个部分...
    99+
    2022-11-13
  • python数据可视化JupyterLab实用扩展程序Mito
    目录遇见 Mito如何启动 Mito数据透视表Mito 令人印象深刻的功能可视化数据自动代码生成Mito 安装JupyterLab 是 Jupyter 主打的最新数据科学生产工具,某...
    99+
    2022-11-12
  • Python抓取数据到可视化全流程的实现过程
    目录1、爬取目标网站:业绩预告_数据中心_同花顺财经2、获取序号、股票代码、等你所需要的信息3、组成DataFrame4、处理数据1、爬取目标网站:业绩预告_数据中心_同花顺财经 (...
    99+
    2022-11-12
  • python教程网络爬虫及数据可视化原理解析
    目录1 项目背景1.1Python的优势1.2网络爬虫1.3数据可视化1.4Python环境介绍1.4.1简介1.4.2特点1.5扩展库介绍1.5.1安装模块1.5.2主要模块介绍2...
    99+
    2022-11-12
  • Python可视化绘制图表的教程详解
    目录1.Matplotlib 程序包2.绘图命令的基本架构及其属性设置3.Seaborn 模块介绍3.1 未加Seaborn 模块的效果4.描述性统计图形概览4.1制作数据4.2 频...
    99+
    2022-11-11
  • Python程序打包成可执行文件exe详解流程
    今天给大家分享个可视化 Python 打包神器,欢迎点赞支持,文末提供技术交流群。 1、 什么是 auto-py-to-exe auto-py-to-exe 是一个用于将Python...
    99+
    2022-11-12
  • 可视化定时任务quartz集成解析全过程
    目录前言1.目录结构2.原理3.表结构4.整合springboot1.pom文件2.ScheduleConfig3.业务类4.运行配置5.ScheduleJob 6.Sch...
    99+
    2022-11-13
    quartz详解 quartz源码解析 quartz集群任务调度
  • Python可视化库之HoloViews的使用教程
    目录Python-HoloViews库介绍Python-HoloViews库样例介绍密度图+箱线图散点图+横线图IrisSplom面积图直方图系列RouteChord小提琴图总结参考...
    99+
    2022-11-13
  • Python可视化工具Plotly的应用教程
    目录一.简介二.各图运用1.柱状图2.散点图3.冒泡散点图4.旭日图5.地图图形三.实战案例一.简介 发展由来: 随着信息技术的发展和硬件设备成本的降低,当今的互联网存在海量的数据,...
    99+
    2022-11-12
  • 怎样用一个开源工具实现多线程 Python 程序的可视化
    今天就跟大家聊聊有关怎样用一个开源工具实现多线程 Python 程序的可视化,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。VizTracer 可以跟踪并发的 Python 程序,以帮...
    99+
    2023-06-15
  • Python进度条可视化之监测程序运行速度
    目录前言安装使用方式示例前言 今天和大家分享一个进度条可视化库,它的名字叫做 tqdm ,可以帮助我们监测程序运行的进度,用户只需要封装可迭代对象即可。 安装 通过命令行直接安装。...
    99+
    2022-11-12
  • 使用python创建股票的时间序列可视化分析
    目录简单介绍数据获取绘制可视化线图绘制蜡太图条形图分析特定时间段交互式可视化总结 简单介绍 在分析股票或任何其他投资货币工具时,时间序列分析是观察变量如何随时间变化的有效方法。这种类...
    99+
    2022-11-13
  • Python数据可视化Pyecharts库的使用教程
    目录一、Pyecharts 概述1.1 Pyecharts 特性1.2 Pyecharts 入门案例二、Pyecharts 配置项2.1 全局配置项2.2 系列配置项三、Pyecha...
    99+
    2022-11-13
  • 如何实现Python抓取数据到可视化全流程的实现
    本篇文章为大家展示了如何实现Python抓取数据到可视化全流程的实现,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。1、爬取目标网站:业绩预告_数据中心_同花顺财经(ps:headers不会设置的可以...
    99+
    2023-06-26
  • PHP调用外部程序的方法解析
    目录前提:PHP没有运行在安全模式1. exec2. system3. passthru4. popen5. proc_open6. shell_exec7. 反撇号`8....
    99+
    2022-11-12
  • Python爬取雪中悍刀行弹幕分析并可视化详程
    目录哔哔一下爬虫部分代码部分效果展示数据可视化代码展示效果展示福利环节哔哔一下 雪中悍刀行兄弟们都看过了吗?感觉看了个寂寞,但又感觉还行,原谅我没看过原著小说~ 豆瓣评分5.8,说明...
    99+
    2022-11-13
  • Python调用C++程序的方法详解
    前言 大家都知道Python的优点是开发效率高,使用方便,C++则是运行效率高,这两者可以相辅相成,不管是在Python项目中嵌入C++代码,或是在C++项目中用Python实现外围功能,都可能遇到Pyth...
    99+
    2022-06-04
    详解 程序 方法
  • Python进度条可视化如何实现监测程序运行速度
    本篇内容介绍了“Python进度条可视化如何实现监测程序运行速度”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!前言今天和大家分享一个进度条可...
    99+
    2023-06-21
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作