1.实现求数组最大子数组之和的功能代码
maxarray.py
#用来获得最大子数组之和定义成方法也方便后面的单元测试 def max(a): sum = max = 0 for i in range(len(a)): sum += a[i] if sum < 0: sum = 0 if max < sum: max = sum if max == 0:#说明a数组内全是负数 max = a[0] for i in range(1,len(a)): if max < a[i]: max = a[i] return max
2.单元测试
maxarraytest.py
import unittest from 数组的最大子数组之和.maxarray import max class TestDemo(unittest.TestCase): def test_out_1(self): a = [1,-2,3,-4,5] self.assertEqual(max(a),5) def test_out_2(self): a = [-5,-1,-3,-6,-8] self.assertEqual(max(a),-1) if __name__ == ‘__main__‘: unittest.main()
运行结果:
(1)单元测试正确截图:
(2)单元测试错误截图:
3.性能分析
利用profile分析相关的独立模块
ncalls:表示函数调用的次数;
tottime:表示指定函数的总的运行时间,除掉函数中调用子函数的运行时间;
percall:(第一个percall)等于 tottime/ncalls;
cumtime:表示该函数及其所有子函数的调用运行的时间,即函数开始调用到返回的时间;
percall:(第二个percall)即函数运行一次的平均时间,等于 cumtime/ncalls;
filename:lineno(function):每个函数调用的具体信息;
运行截图:
原文:https://www.cnblogs.com/jk18/p/14531499.html