Python3,自从掌握了这个方法,再也不用print进行调试了。

这篇具有很好参考价值的文章主要介绍了Python3,自从掌握了这个方法,再也不用print进行调试了。。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1、引言

小屌丝:鱼哥,调试代码,除了Debug,还有什么其他的神器没?
小鱼:额… 你这是要飞天吗?
小屌丝:我很低调的好不好。
小鱼:还说低调,那你Debug咋都不用,还说低调?
小屌丝:我觉得Debug太慢了,
小鱼:…被你装到了。
小屌丝:反正我不管, 就得帮我想个神器…
小鱼:… 好吧, 容我想一下。
Python3,自从掌握了这个方法,再也不用print进行调试了。

小鱼:你别说,我还真的想到一个。
小屌丝:我擦…被你装到了, 我就知道你有货。
小鱼:低调, 我很低调的好不。
小屌丝:好吧,那你向我展示一下你说的神器。
小鱼:嘿嘿…

Python3,自从掌握了这个方法,再也不用print进行调试了。

2、代码实战

2.1 介绍

今天说到的这个神器,就是PySnooper,它的工作原理很简单,就是替代print的工作。
我们都知道, print一行, 则输出一行。
而PySnooper的功能就是把所有的一起输出。

2.2 安装

涉及到第三方库,肯定就需要安装
老规矩,pip 安装

pip install pysnooper

然后就是等待着安装。

其它安装方式,直接看这两篇:

  • Python3,选择Python自动安装第三方库,从此跟pip说拜拜!!
  • Python3:我低调的只用一行代码,就导入Python所有库!

安装完成,就是这样
Python3,自从掌握了这个方法,再也不用print进行调试了。

2.3 示例

代码示例

# -*- coding:utf-8 -*-
# @Time   : 2023-03-28
# @Author : Carl_DJ

'''
实现功能:
    使用PySnooper与with的上下文形式调试
'''

import pysnooper
import random

def Demo():
	#设置list
    list = []
    for i in range(10):
        list.append(random.randrange(1,1000))
	#使用with进行上下文调试
    with pysnooper.snoop():
        lower = min(list)
        upper = max(list)
        mid = (lower + upper) / 2

        print(lower,mid,upper)

#调用demo
if __name__ == '__main__':
    Demo()

运行结果

21 458.0 895
Source path:... D:\Project\TestPySnooper.py
New var:....... list = [438, 414, 895, 834, 890, 464, 21, 536, 290, 85]
New var:....... i = 9
15:14:58.320034 line        19         lower = min(list)
New var:....... lower = 21
15:14:58.320540 line        20         upper = max(list)
New var:....... upper = 895
15:14:58.320540 line        21         mid = (lower + upper) / 2
New var:....... mid = 458.0
15:14:58.320540 line        23         print(lower,mid,upper)
Elapsed time: 00:00:00.000506

Process finished with exit code 0

3、总结

看到这里,今天的分享内容就到这里了。
其实在实际工作中, 使用上下文调试的场景也很常见。
所以,学会使用PySnooper的with进行上下文调试, 能帮助你节省很多工作量。

好了,就唠叨这里了。
我是小鱼

  • CSDN 博客专家
  • 阿里云 专家博主
  • 51CTO博客专家
  • 51认证讲师
  • 金牌面试官

关注小鱼,带你学习更多更有趣的python知识。

当然,

  • 如果你想晋升自己的技能,;
  • 如果你想提升自己的面试成功率;
  • 如果你现在处在职业迷茫期,想重新规划职业生涯;

都可以找小鱼聊聊的。

CSDN 私信留言, 或者扫描小鱼主页的二维码,都可以找到的。文章来源地址https://www.toymoban.com/news/detail-451192.html

到了这里,关于Python3,自从掌握了这个方法,再也不用print进行调试了。的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • SpringBoot 代码混淆真香,再也不用担心反编译代码泄露...

    简单就是把代码跑一哈,然后我们的代码 .java文件 就被编译成了 .class 文件 就是针对编译生成的 jar/war 包 里面的 .class 文件 逆向还原回来,可以看到你的代码写的啥。 比较常用的反编译工具 JD-GUI ,直接把编译好的jar丢进去,大部分都能反编译看到源码: 那如果不想给别人反

    2024年02月06日
    浏览(75)
  • 使用ONE.Abp快速开发微服务,再也不用加班了

    公司采用项目制工作方式,因此在不同项目上可能存在多个团队开发独立的代码库,但通用的基础设施却是相同的,这可能导致每个项目都需要编写相同的代码,并重复造轮子。更严重的是,每个项目都有自己的用户体系,导致用户在使用不同的服务时需要重新登录,这不仅

    2024年02月05日
    浏览(45)
  • 自打有了GIPKs,DBA和开发再也不用battle了

    GIPKs特性简介 GIPKs特性的作用 玩转GIPKs GIPKs解决了历史难题 从MySQL 8.0.30开始,新引入一个叫做GPIKs的特性,其全称是 Generated Invisible Primary Keys ,简言之就是 自动生成隐含的主键列 ,更完整的说法是:启用 GIPKs 后,当新建的InnoDB表没有显式主键时,会自动创建一个不可见的主

    2024年02月16日
    浏览(89)
  • 初识Linux(中).妈妈再也不用担心我Linux找不到门了。

    “我会定期分享我的学习和工作经验,也欢迎大家留言和交流,让我们共同学习和进步!感谢大家的支持!” 系列文章 初识Linux(上).妈妈再也不用担心我Linux找不到门了。 初识Linux(中).妈妈再也不用担心我Linux找不到门了。 初识Linux(下).妈妈再也不用担心我Linux找不到门了。

    2024年02月05日
    浏览(88)
  • 再也不用担心变量类型错误!学会JS中如何轻松检查变量类型

    今天要分享的问题就是: 如何在JS中检查一个变量的类型? 先上结论: 如果判断的是基本数据类型或JavaScript内置对象,使用toString;如果要判断的是自定义类型,请使用instanceof。 在 ECMAScript 规范中,共定义了 7 种数据类型,分为 基本类型 和 引用类型 两大类。 基本类型

    2024年02月08日
    浏览(56)
  • 漏洞扫描工具大全,妈妈再也不用担心我挖不到漏洞了

    Acunetix Web Vulnerability Scanner(简称AWVS)是一款知名的网络漏洞扫描工具,它通过网络爬虫测试你的网站安全,检测流行安全漏洞。 AWVS常见功能: 网站爬行

    2024年02月09日
    浏览(48)
  • 高效办公之远程电脑控制:再也不用带着厚重笔记本

    您是否遇到过以下问题: 出门在外没有带公司电脑,想查看或处理文件而不可得;每次出差都要带着厚重的笔记本电脑;甚至深夜都已经回家了,紧急工作来了,工作电脑却不在身边,而打车回到公司处理。 如果答案是yes,那么一个远程控制软件您值得拥有~ 这边推荐两款简

    2024年02月11日
    浏览(54)
  • 初识Linux(下).妈妈再也不用担心我Linux找不到门了

    “我会定期分享我的学习和工作经验,也欢迎大家留言和交流,让我们共同学习和进步!感谢大家的支持!” 系列文章 初识Linux(上).妈妈再也不用担心我Linux找不到门了。 初识Linux(中).妈妈再也不用担心我Linux找不到门了。 初识Linux(下).妈妈再也不用担心我Linux找不到门了。

    2024年02月05日
    浏览(80)
  • Spring Boot 项目代码混淆,实战来了,再也不用担心代码泄露了!

    简单就是把代码跑一哈,然后我们的代码 .java文件 就被编译成了 .class 文件 就是针对编译生成的 jar/war 包 里面的 .class 文件 逆向还原回来,可以看到你的代码写的啥。 比较常用的反编译工具 JD-GUI ,直接把编译好的jar丢进去,大部分都能反编译看到源码: 那如果不想给别人反

    2023年04月26日
    浏览(49)
  • Selenium 4.11 正式发布--再也不用手动更新chrome driver 了

    Selenium 4.11.0 正式发布了,先来看一下主要特性。 Chrome DevTools支持的版本现在是:v113、v114和v115(Firefox仍然对所有版本使用v85) 通过Selenium Manager支持Chrome For Testing(CfT) Selenium Manager现在可以在PATH或配置的路径上定位driver的二进制文件,检查潜在的不兼容性,并提供更好的

    2024年02月08日
    浏览(48)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包