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模板网!

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

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

相关文章

  • 记录--再也不用手动改package.json的版本号

    本文的起因是有在代码仓库发包后,同事问我“为什么package.json 里的版本还是原来的,有没有更新?”,这个时候我意识到,我们完全没有必要在每次发布的时候还特意去关注这个仓库的版本号,只要在发布打tag的时候同步一下即可,于是有了本文的实践。 我们首先需要在

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    2023年04月26日
    浏览(33)
  • 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日
    浏览(31)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包