Python基础_Day18

本文介绍了Python的代码调试技巧,包括断言、logging、单元测试和文档测试。此外,详细讲解了如何读写doc、excel和csv文件,特别讨论了在Python 2和3版本之间的区别及如何在不同版本间切换。
摘要由CSDN通过智能技术生成

1.代码调试的方式

断言

assert 正确的元素状态,如果元素状态出现问题给出的错误提示
正确的元素状态 返回的是bool类型的 满足条件 代码向下执行
不满足条件 出现断言错误 给出错误提示

list0 = ["abc", "hello", 123, "good"]
list1 = [str(item) for item in list0]
for item in list0:
    # 断言
    assert isinstance(item, str), "item需要是字符串类型,但是该数据%s不是字符串格式" % (item)
    print(item.upper())    
'''
Traceback (most recent call last):
ABC
  File "C:/Users/11143/Documents/讲课容/BJ_Python1811/day19/Day19/debug_pack/bug_demo.py", line 7, in <module>
    assert isinstance(item, str), "item需要是字符串类型 但是该数据%s不是字符串格式" % (item)
HELLO
AssertionError: item的值需要是字符串类型 但是该数据123不是字符串格式
'''

logging

需要先导入模块 logging
在进行测试之前先添加一行配置语句:
logging.basicConfig(level=logging.INFO)
logging.info(数据信息)

import logging
logging.basicConfig(level=logging.INFO)
list0 = ["abc", "hello", 123, "good"]

for item in list0:
    logging.info("item=%s" % (item))
    print(item.upper())
'''
INFO:root:item=abc
INFO:root:item=hello
INFO:root:item=123
Traceback (most recent call last):
  File "F:/老师代码/第04周/day19/debug_pack/bug_demo.py", line 17, in <module>
    print(item.upper())
AttributeError: 'int' object has no attribute 'upper'
'''

单元测试

单元测试的作用:
	用来对一个函数, 一个类或者一个模块进行正确测验的工作
如何进行单元测试:
	导入unittest模块
	声明一个类 继承自 unittest.TestCase
# 对列表进行升序排序
def sort_list(src_list):
    # 冒泡排序
    for out in range(1, len(src_list)):
        for i in range(0, len(src_list) - out):
            if src_list[i] > src_list[i+1]:
                src_list[i], src_list[i+1] = src_list[i+1], src_list[i]
    return src_list
    
def add(num1, num2):
    return num1 + num2

from debug_pack.tools import *
import unittest
class Test(unittest.TestCase):
    def test_s
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值