1 编程错误类型
1.1 语法错误,比如引号没有成对出现,少了逗号等,系统会抛出Syntaxerror
1.2 语义错误,比如除数为0
1.3 逻辑错误
2 异常处理
2.1 示例
f = open(‘test.txt’) try: f.read() except: print(‘文件操作异常’) finally: f.close()
2.2 finally通常用于需要释放资源的场合,比如示例中的文件操作,还有就是数据库的操作
2.3 raise 用于手动抛出异常
2.4 except使用中可以指定异常并进行处理,比如
except 异常类型1 as 实例1: 处理1 except 异常类型2 as 实例2 处理2
2.5 else用于全部正常时的处理
3 测试
3.1 测试步骤
3.1.1导入测试单元
import unittest
3.1.2导入要测试的方法或类
from 模块 import 方法
3.1.3建立测试类
class TestMethod(unittest.testcase)
3.1.4建立测试方法,约定俗成的,这个方法总是以test开头,方法中引入unittest模块自带方法
def test_method_uu(): 变量 = 方法() self.内置方法(变量,实际值)
3.1.5运行测试程序
if __name__ == ‘__main__’: unittest.main()
3.2 两个函数
3.2.1 setUp()函数,用于准备初始化代码
3.2.2 tearDown()函数,用于执行清理工作,比如涉及文件,数据库操作的类或函数
4 常用断言方法
4.1 assertEqual()
4.2 assertIn()
4.3 assertAlmostEqual()
4.4 assertIs()
4.5 assertGreater()
4.6 assertIsInstance()
4.7 assertTrue()
4.8 assertIsNone()
5 数值的格式化
数值格式化的两种表达方式
5.1 ‘{:.2f}’.format(变量)
5.2 f’{变量:.2f}’
6 随机处理
6.1 random.choice(序列) 从序列中随机取出一个数
6.2 random.sample(序列,个数) 从序列中随机取出一定数量的数
6.3 random.shuffle(序列) 打乱序列
6.4 random.randint(数值1,数值2) 生成范围内一个随机整数
6.5 random.random() 生成一个随机浮点数
6.6 random.getrandbits(数值) 生成制定bit位数的随机数
7 日期与时间
7.1 导入模块 import datetime
7.2 三种主要方式:date,time,datetime
7.3 格式转换
7.3.1 字符串变时间
s=’2018-7-6’
t=datetime.datetime.strptime(s,’Y%-m%-d%’)
7.3.2 时间变字符串
now = datetime.datetime.now()
txt = now.strftime(‘Y%/m%/d%’)
7.4 时间差 timedelta
time1=datetime.datetime(2008,8,8,20,8) time2=datetime.datetime.now() diff=time1-time2
diff即为timedelta类型,含有days和seconds两个属性