• Python学习笔记--命名规范-单元测试


    # python命名规范
    # 先来看变量命名。变量名请拒绝使用 a b c d 这样毫无意义的单字符,我们应该使用能够代表其意思的变量名。
    # 一般来说,变量使用小写,通过下划线串联起来,
    # 例如:data_format、input_spec、image_data_set。
    # 唯一可以使用单字符的地方是迭代,比如 for i in range(n) 这种,为了精简可以使用。
    # 如果是类的私有变量,请记得前面增加两个下划线。对于常量,最好的做法是全部大写,并通过下划线连接,
    # 例如:WAIT_TIME、SERVER_ADDRESS、PORT_NUMBER。
    # 对于函数名,同样也请使用小写的方式,通过下划线连接起来,
    # 例如:launch_nuclear_missile()、check_input_validation()。
    # 对于类名,则应该首字母大写,然后合并起来,例如:class SpatialDropout2D()、class FeatureSet()。
    
    
    # 断言assert
    # Python 的 assert 语句,可以说是一个 debug 的好工具,主要用于测试一个条件是否满足。
    # 如果测试的条件满足,则什么也不做,相当于执行了 pass 语句;
    # 如果测试条件不满足,便会抛出异常 AssertionError,并返回具体的错误信息(optional)。
    # assert 1 == 2 or 1 == 1, "1不等于2"
    # print("aaaa")
    
    # 总结 :assert的使用应该是,有没有assert程序都能够正常运行,但有了assert可以使我们的代码后期维护更加方便
    
    
    # 单元测试
    # 首先,我们需要创建一个类TestSort,继承类‘unittest.TestCase’;
    # 然后,在这个类中定义相应的测试函数 test_sort(),进行测试。
    # 注意,测试函数要以‘test’开头,
    # 而测试函数的内部,通常使用 assertEqual()、assertTrue()、assertFalse() 和 assertRaise() 等 assert 语句对结果进行验证。
    # 最后只需要在主函数中执行unittest.main()即可
    
    # import unittest
    #
    #
    # # 将要被测试的排序函数
    # def sort(arr):
    #     l = len(arr)
    #     for i in range(0, l):
    #         for j in range(i + 1, l):
    #             if arr[i] >= arr[j]:
    #                 tmp = arr[i]
    #                 arr[i] = arr[j]
    #                 arr[j] = tmp
    #
    #
    # # 编写子类继承unittest.TestCase
    # class TestSort(unittest.TestCase):
    #
    #     # 以test开头的函数将会被测试
    #     def test_sort(self):
    #         arr = [3, 4, 1, 5, 6]
    #         sort(arr)
    #         # assert 结果跟我们期待的一样
    #         self.assertEqual(arr, [1, 3, 4, 5, 6])
    #
    #
    # if __name__ == '__main__':
    #     # 如果在Jupyter下,请用如下方式运行单元测试
    #     # unittest.main(argv=['first-arg-is-ignored'], exit=False)
    #
    #     # 如果是命令行下运行,则:
    #     unittest.main()
    
    
    # 用命令行运行时,想要调试,可以用pdb
    # 常见命令行命令 p xxx =>print(xxx)
    # n 表示继续执行一行
    # l 表示列出当前代码行的上下共十一行代码(上下各五行)
    import pdb
    a = 1
    b = 2
    pdb.set_trace()
    c = 3
    print(a + b + c)
    
    # 用cProfile进行性能分析
    # 只需导入该模块,并且在最后运行cProfile.run()即可
    # 或者在命令行中输入  python3 -m cProfile xxx.py
    
    import cProfile
    # def fib(n)
    # def fib_seq(n):
    cProfile.run('fib_seq(30)')
    

      

  • 相关阅读:
    2019年年终总结
    [转]网络基本功08-细说TCP滑动窗口
    anaconda启动报错-pythonw.exe
    FRP+WoL实现远程开机+远程桌面
    [转]网络基本功06-链路聚合
    我的效率工具分享
    比海飞丝更柔顺的写作体验
    阿里云加Picgo或MPic搭建最豪横的图床
    markdown从入门到放弃word和PDF
    Pocket+Evernote 打造个人知识库体系
  • 原文地址:https://www.cnblogs.com/jifeng0902/p/14880363.html
Copyright © 2020-2023  润新知