zoukankan      html  css  js  c++  java
  • 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)')
    

      

  • 相关阅读:
    【Educational Codeforces Round 101 (Rated for Div. 2) C】Building a Fence
    【Codeforces Round #698 (Div. 2) C】Nezzar and Symmetric Array
    【Codeforces Round #696 (Div. 2) D】Cleaning
    【Codeforces Round #696 (Div. 2) C】Array Destruction
    【Educational Codeforces Round 102 D】Program
    【Educational Codeforces Round 102 C】No More Inversions
    【Good Bye 2020 G】Song of the Sirens
    【Good Bye 2020 F】Euclid's nightmare
    使用mobx入门
    requestAnimationFrame 控制速度模拟setinterval
  • 原文地址:https://www.cnblogs.com/jifeng0902/p/14880363.html
Copyright © 2011-2022 走看看