当前位置:主页 > python教程 > python的调试;print()和断言(实例解析)

python调试中print()和断言实例讲解

发布:2019-09-10 21:35:42 120


为找教程的网友们整理了相关的编程文章,网友隆成和根据主题投稿了本篇教程内容,涉及到调试、python、python的调试;print()和断言(实例解析)相关内容,已被508网友关注,如果对知识点想更进一步了解可以在下方电子资料中获取。

python的调试;print()和断言(实例解析)

在以下的文章之中我们来了解一下python中的调试。了解一些什么python调试的方法,以及知晓python调试在python编程之中能起到什么样的作用。

为什么要进行调试

程序能一次写完并正常运行的概率很小,基本不超过1%。总会有各种各样的bug需要修正。有的bug很简单,看看错误信息就知道,有的bug很复杂,我们需要知道出错时,哪些变量的值是正确的,哪些变量的值是错误的,因此,需要一整套调试程序的手段来修复bug。那么python怎么调试呢?下面将会给与解答。

第一种方法简单直接粗暴有效,就是用print()把可能有问题的变量打印出来看看:

def foo(s):
    n = int(s)
    print('>>> n = %d' % n)
    return 10 / n
def main():
    foo('0')
main()

执行后在输出中查找打印的变量值:

$ python err.py
>>> n = 0
Traceback (most recent call last):
  ...
ZeroDivisionError: integer division or modulo by zero

用print()最大的坏处是将来还得删掉它,想想程序里到处都是print(),运行结果也会包含很多垃圾信息。所以,我们又有第二种方法。

第二种方法就是:凡是用print()来辅助查看的地方,都可以用断言(assert)来替代:

def foo(s):
    n = int(s)   
     assert n != 0, 'n is zero!'
    return 10 / n
    
    def main():
    foo('0')

assert的意思是,表达式n != 0应该是True,否则,根据程序运行的逻辑,后面的代码肯定会出错。

如果断言失败,assert语句本身就会抛出AssertionError:

$ python err.py
Traceback (most recent call last):
  ...
AssertionError: n is zero!

程序中如果到处充斥着assert,和print()相比也好不到哪去。不过,启动Python解释器时可以用-O参数来关闭assert:

$ python -O err.py
Traceback (most recent call last):
  ...
ZeroDivisionError: division by zero

关闭后,你可以把所有的assert语句当成pass来看。

以上就是本篇文章所讲述的所有内容,这篇文章主要介绍了python调试的相关知识,希望你能借助资料从而理解上述所说的内容。希望我在这片文章所讲述的内容能够对你有所帮助,让你学习python更加轻松。

更多相关知识,请访问码农之家Python教程栏目。

以上就是python的调试;print()和断言(实例解析二)的详细内容,更多请关注码农之家其它相关文章!


参考资料

相关文章

  • python中的lambda函数用法指南

    发布:2023-03-02

    Lambda函数是Python中的匿名函数,下面这篇文章主要给大家介绍了关于python中lambda函数用法的相关资料,文中通过实例代码介绍的非常详细,需要的朋友可以参考下


  • Python3 微信支付(小程序支付)V3接口的实现

    发布:2023-03-07

    本文主要介绍了Python3 微信支付(小程序支付)V3接口的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧


  • Python iter()函数用法详解

    发布:2020-06-04

    这篇文章主要介绍了Python iter()函数用法,结合实例形式详细分析了Python iter()函数的功能、使用方法及相关操作注意事项,需要的朋友可以参考下


  • Python列表生成式和生成器操作详解

    发布:2019-06-22

    这篇文章主要介绍了Python列表生成式与生成器操作,结合实例形式分析了Python列表生成式与生成器的功能、使用方法及相关操作技巧,需要的朋友可以参考下


  • Python中使用aiomysql异步操作MySQL实例效果

    发布:2020-02-11

    这篇文章主要介绍了Python异步操作MySQL,结合实例形式分析了Python安装及使用aiomysql针对mysql数据库异步操作相关实现技巧,需要的朋友可以参考下


  • 利用Chatgpt开发一款加减乘除计算器(Python代码实现)

    发布:2023-04-05

    这篇文章主要为大家详细介绍了如何利用Chatgpt开发一款加减乘除计算器(用Python代码实现),文中的示例代码讲解详细,感兴趣的小伙伴可以了解一下


  • Python与PHP实现插入排序实例

    发布:2019-11-18

    下面小编就为大家带来一篇插入排序_Python与PHP的实现版(推荐)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧


  • Python实现曲线的肘部点检测详解

    发布:2023-03-23

    肘部法则是经常使用的法则。很多时候,可以凭人工经验去找最优拐点,但有时需要自动寻找拐点。本文为大家介绍了Python实现曲线的肘部点检测的方法,希望对大家有所帮助


网友讨论