json和dict对比
- json的key只能是字符串,python的dict可以是任何可hash对象(hashtable type);
- json的key可以是有序、重复的;dict的key不可以重复。
- json的value只能是字符串、浮点数、布尔值或者null,或者它们构成的数组或者对象。
- json任意key存在默认值undefined,dict默认没有默认值;
- json访问方式可以是[],也可以是.,遍历方式分in、of;dict的value仅可以下标访问。
- json的字符串强制双引号,dict字符串可以单引号、双引号;
- json:true、false、null
- python:True、False、None
- json中文必须是unicode编码,如"\u6211".
- json的类型是字符串,字典的类型是字典。
python unitest框架中 setup、setupclass、teardown、teardownclass的区别
- setUp():每个测试方法运行前运行,测试前的初始化工作。一条用例执行一次,若N次用例就执行N次,根据用例的数量来定。
- setUpClass():所有的测试方法运行前运行,为单元测试做前期准备,但必须使用@classmethod装饰器进行修饰,整个测试过程中只执行一次。
- tearDown():每个测试方法运行结束后运行,测试后的清理工作。一条用例执行一次,若N次用例就执行N次。
- tearDownClass():所有的测试方法运行结束后运行,为单元测试做后期清理工作,但必须使用@classmethod装饰器进行修饰,整个测试过程中只执行一次
python assert使用说明
self.assertEqual(a,b,msg=msg) #判断a与1.b是否一致,msg类似备注,可以为空
self.assertNotEqual(a,b,msg=msg) #判断a与b是否不一致
self.assertTrue(a,msg=none) #判断a是否为True
self.assertFalse(b,msg=none) #判断b是否为false
self.assertIn(a,b) 判断a in b是否成立,正确则True,否则为False
例: assertIn(“2” in “23”) 成功
assertIn(“1” in “23”) 失败
self.assertNotIn(a,b) 判断a in b是否成立,不成立则True 否则 False
例:assertIn(“2” in “23”) 失败
assertIn(“1” in “23”) 成功
self.assertIs(a,b) 判断a 与b的对象是否相同,成立则True,否则False
注,判断是否同一对象 id(a) 若id相同,则为同一对象
例 a,b=1,1.0
assertls(a,b) 失败
a,b=1,1
assertls(a,b) 成功
self.assertIsNot(a,b) 判断a 与b的对象是否相同,不成立True,否则False
self.assertDictEqual(a,b) #判断字典a和字典b是否相等,a,b为字典
self.assertLess(a,b) #判断a<b 成立则通过,否则失败
self.assertLessEqual #判断a<=b 成立则通过,否则失败
self.assertGreater #判断a>b 成立则通过,否则失败
self.assertGreaterEqual #判断a>=b 成立则通过,否则失败
self.assertIsNone(obj=””) #判断obj=None 成立则通过,否则失败
self.assertIsNotNone #判断obj=None 成立则失败,否则通过