博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Python基础-调试print()-assert-logging-pdb-ide
阅读量:4146 次
发布时间:2019-05-25

本文共 1334 字,大约阅读时间需要 4 分钟。

打印日志 print()

print()把可能有问题的变量打印出来,简单又粗暴。

断言 assert

凡是用print()来辅助查看的地方,都可以用断言(assert)来替代。

示例

#!/usr/bin/env python3# -*- coding: utf-8 -*-# 断言def fun():    n = int(input())    # 表达式n != 0应该是True,否则,根据程序运行的逻辑,后面的代码肯定会出错    assert n != 0, "n is zero"    print ("you input is ", n)# 运行方法def runTest():    fun()# 运行runTest()

假如输入 0,会收获下面的报错

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

D:\PythonProject>python main.py0Traceback (most recent call last):  File "main.py", line 16, in 
runTest() File "main.py", line 13, in runTest fun() File "main.py", line 7, in fun assert n != 0, "n is zero"AssertionError: n is zero

logging

把print()替换为logging是第3种方式,和assert比,logging不会抛出错误,而且可以输出到文件.

这个方法,吊吊的,终于有点兴趣了

示例

#!/usr/bin/env python3# -*- coding: utf-8 -*-# loggingimport logging# 这里可以指定日志级别debug,info,warning,error等几个级别logging.basicConfig(level=logging.INFO)logging.info("Hello world")logging.info(10 / 0)

运行结果

D:\PythonProject>python main.pyINFO:root:Hello worldTraceback (most recent call last):  File "main.py", line 9, in 
logging.info(10 / 0)ZeroDivisionError: division by zero

单步运行 pdb

启动Python的调试器pdb,让程序以单步方式运行,可以随时查看运行状态。

命令

python -m pdb xxx.py

命令 n 进入下一行

最好使用IDE工具调试方便一些

IDE

如果要比较爽地设置断点、单步执行,就需要一个支持调试功能的IDE。目前比较好的Python IDE有:

Visual Studio Code:,需要安装Python插件。
PyCharm:
另外,Eclipse加上pydev插件也可以调试Python程序。

转载地址:http://xvcti.baihongyu.com/

你可能感兴趣的文章
九度:题目1027:欧拉回路
查看>>
九度:题目1012:畅通工程
查看>>
九度:题目1017:还是畅通工程
查看>>
九度:题目1034:寻找大富翁
查看>>
第六章 背包问题——01背包
查看>>
51nod 分类
查看>>
1136 . 欧拉函数
查看>>
面试题:强制类型转换
查看>>
Decorator模式
查看>>
Template模式
查看>>
Observer模式
查看>>
高性能服务器设计
查看>>
性能扩展问题要趁早
查看>>
MySQL-数据库、数据表结构操作(SQL)
查看>>
OpenLDAP for Windows 安装手册(2.4.26版)
查看>>
图文介绍openLDAP在windows上的安装配置
查看>>
Pentaho BI开源报表系统
查看>>
Pentaho 开发: 在eclipse中构建Pentaho BI Server工程
查看>>
JSP的内置对象及方法
查看>>
android中SharedPreferences的简单例子
查看>>