09 2021 档案

摘要:一、logging模块日志级别 DEBUG、INFO、WARNING、ERROR、CRITICAL 五个等级对应五种打日志的方法:debug、info、warning、error、critical 默认的是跟踪WARNING及以上级别 import logging logging.debug("这是 阅读全文
posted @ 2021-09-25 14:04 2orange 阅读(123) 评论(0) 推荐(0)
摘要:首先在同一文件夹下创建一个名为cases的xlsx格式的excel文件 该excel中有张名为yuan的sheet,其中的数据如下: 一、读取excel中的数据 1、将excel表格加载为工作簿对象 2、选定其中的某张表单 3、读取指定的格子对象 例如,读取其中第一行第二列的case_name: i 阅读全文
posted @ 2021-09-24 22:03 2orange 阅读(308) 评论(0) 推荐(0)
摘要:相比用for循环结合“一条一条加载用例”方式更为快捷的方法,是使用ddt 所有的测试用例所需的用例数据都作为类属性放在测试用例类中: import unittest from ddt import ddt, data from exercise04_ddt.funcdemo_unittest imp 阅读全文
posted @ 2021-09-23 22:13 2orange 阅读(56) 评论(0) 推荐(0)
摘要:在unittest框架的基础使用中,创建测试用例类的时候,其中的每条测试用例都为其编写了一个方法 但其实每个方法下面的运行逻辑都是一样的:即准备数据、传参获取实际结果、实际结果与预期结果比对 这样,当测试用例较多时,工作就会陷入大量重复和冗余,下面通过重写测试用例类所继承的unittest.Test 阅读全文
posted @ 2021-09-23 21:30 2orange 阅读(302) 评论(0) 推荐(0)
摘要:一、unittest框架最核心的四个概念 TestCase:一个TestCase中的用例就是一个测试用例 TestSuite:多个测试用例集合在一起;TestLoader:用来加载测试用例到测试套件中 TextTestRunner:用来执行测试用例 fixture:测试环境的搭建和销毁 二、测试用例 阅读全文
posted @ 2021-09-23 20:24 2orange 阅读(62) 评论(0) 推荐(1)
摘要:(1)在类外面获取类属性 方式一:print(类名.属性名) 方式二:getattr(参数1,参数2,参数3),可用于动态获取 参数1:类名 参数2:属性名 参数3:如果属性不存在,则返回该值 (2)在类外面定义类属性 方式一:类名.属性名=属性值 方式二:setattr(参数1,参数2,参数3), 阅读全文
posted @ 2021-09-18 15:45 2orange 阅读(186) 评论(0) 推荐(0)
摘要:(1)object:python中所有类的基类 (2)子类通过继承父类,能够获取父类中定义的所有属性和方法(私有属性除外) (3)重写父类方法:在子类中定义与父类同名的方法 (4)调用被重写的父类方法: 方法一:父类名.方法名(self) 方法二:super().方法名() 阅读全文
posted @ 2021-09-18 10:15 2orange 阅读(33) 评论(0) 推荐(0)
摘要:1、定义的两种形式 python3中下面两种类的定义没有区别: 方式一:不写继承的父类,默认继承object class MyTest: pass 方式二:在类名后指定继承object这个类 class MyTest(object): pass 在python2中,方式一的定义形式叫做经典类,方式二 阅读全文
posted @ 2021-09-17 14:32 2orange 阅读(119) 评论(0) 推荐(0)
摘要:1、类属性之私有属性 类属性分为公有属性和私有属性 公有属性:既可以在类的内部使用,又可以在类的外部使用 私有属性:双下划线开头,只能在类的内部使用,在类外无法使用 class MyClass: attr=100 #公有属性 __atter=999 #私有属性 def print_attr(self 阅读全文
posted @ 2021-09-17 14:29 2orange 阅读(369) 评论(0) 推荐(0)
摘要:1、类里面的方法 (1)实例方法:第一个参数是self,self代表对象本身,哪个对象调用该方法,self就代表哪个对象 实例方法只能通过对象去调用 (2)类方法:@classmethod进行装饰(标识) 第一个参数是cls,cls代表的是类本身 (3)静态方法:@staticmethod进行装饰( 阅读全文
posted @ 2021-09-17 14:25 2orange 阅读(206) 评论(0) 推荐(0)
摘要:1、在类里面定义对象属性 (1)定义在类里面的函数叫做方法 (2)__init__方法:初始化方法,对象创建后,会自动调用该方法 (3)关于方法中的第一个参数self:self代表的是对象本身 class Cat: def __init__(self): print(id(self),self) k 阅读全文
posted @ 2021-09-17 14:16 2orange 阅读(477) 评论(0) 推荐(0)
摘要:1、类属性和实例属性 类属性:在类里面直接定义的变量,叫做类属性 通过对象访问类属性:对象名.属性名 通过类访问类属性:类名.属性名 实例属性:每个对象的属性值都有可能不一样,就定义为实例属性(对象属性) 实例属性的定义:对象.属性名=属性值 class Cat: leg=“四条腿” tail=“长 阅读全文
posted @ 2021-09-17 14:12 2orange 阅读(247) 评论(0) 推荐(0)
摘要:1、类的定义 关键字:class 语法: class 类名: 类里面的代码 类名的命名规范:同标识符命名规范,风格采用大驼峰命名法 通过类创建对象:对象=类名() 对象也叫实例,通过类创建对象也叫实例化对象 class Cat: pass kitty=Cat() coffee=Cat() print 阅读全文
posted @ 2021-09-17 14:09 2orange 阅读(244) 评论(0) 推荐(0)
摘要:1、断言 assert expected=“用例执行通过” result=“用例执行未通过” assert expected==result print(“ ”) 运行后会报断言错误:AssertionError,不执行print 阅读全文
posted @ 2021-09-16 09:48 2orange 阅读(48) 评论(0) 推荐(0)
摘要:1、主动抛出异常 raise:主动抛出异常 print(“ 1 ”) raise ValueError(“这是个自定的错误提示”) print(“ 2 ”) 运行后会在打印了 1 后抛出报错:ValueError(“这是个自定的错误提示”) 阅读全文
posted @ 2021-09-16 09:47 2orange 阅读(339) 评论(0) 推荐(0)
摘要:1、异常捕获 try: 可能会出错的代码 except: try中的代码出现异常时,执行except中的代码 else: try中的代码没有出现异常时,执行else中的代码 finally: 不管try中的代码是否出现异常,都会执行finally中的代码 2、捕获指定类型的异常 (1)捕获一个指定类 阅读全文
posted @ 2021-09-16 09:45 2orange 阅读(97) 评论(0) 推荐(0)
摘要:1、os模块 以下输出结果以F:>road_of_python>随课练手>try_try.py为例: (1)获取当前文件的目录的绝对路径 import os res=os.path.abspath(“.”) print(res) 得到结果为:F:\road_of_python\随课练手 (2)获取当 阅读全文
posted @ 2021-09-16 09:37 2orange 阅读(61) 评论(0) 推荐(0)
摘要:1、__name__ __name__的值不是固定的,在一个文件中写下__name__后,它的值是“__main__” 当这个文件被其他文件作为模块导入时,__name__的值就会变成被导入模块的路径而不是“__main__” 阅读全文
posted @ 2021-09-15 13:56 2orange 阅读(49) 评论(0) 推荐(0)
摘要:1、模块的导入 (1)导入模块 import 模块名 from 包名(文件夹) import 模块名 from 包名(文件夹).包名(文件夹) import 模块名 (2)导入模块中的某个变量(函数、类) from 模块名 import 变量名(或函数等) from 包名(文件夹).模块名 impo 阅读全文
posted @ 2021-09-15 13:43 2orange 阅读(102) 评论(0) 推荐(0)
摘要:1、文件的写入操作 write 追加写入: f=open(“text1.txt”,“a”,encoding=“utf8”) f.write(“python999”+“\n”) f.close() 覆盖写入: f=open(“text1.txt”,“w”,encoding=“utf8”) f.writ 阅读全文
posted @ 2021-09-15 13:28 2orange 阅读(70) 评论(0) 推荐(0)
摘要:1、文件的读取操作 (1)open函数:打开文件 open(参数1,参数2,encoding=“utf8”) 参数1:文件名/文件路径 参数2:文件打开的模式 采用二进制模式打开时无需“utf8” (2)文件打开的模式 r:读取文件,文件不存在时会报错 a:追加写入,如果文件不存在则会新建一个 w: 阅读全文
posted @ 2021-09-15 09:27 2orange 阅读(321) 评论(0) 推荐(0)
摘要:一、min、max、sum、enumerate的使用 tu=(11,22,33,44) li=[1,2,3,4,5] dic={“a”:11,“b”:44,“c”:99} print(min(tu)) 得到结果为:11 print(min(li)) 得到结果为:1 print(min(dic.val 阅读全文
posted @ 2021-09-13 10:50 2orange 阅读(72) 评论(0) 推荐(0)
摘要:1、全局变量和局部变量 全局变量:定义在文件中的变量,该文件的任何地方都可以访问它 局部变量:定义在函数内部的变量,只能在定义该变量的函数内部使用 函数的作用域:局部变量的作用域:函数内部 函数参数的作用域:函数内部 Question1:如何在函数内部定义全局变量? Answer:使用global进 阅读全文
posted @ 2021-09-13 09:42 2orange 阅读(86) 评论(0) 推荐(0)
摘要:1、函数的参数分类 函数的参数:定义在函数后面的括号中 定义的参数叫形参 调用函数时传入的数据叫实参 一、实参分类: 1、位置参数:通过位置按顺序传递 2、关键字参数:通过参数名指定参数进行传递 二、形参分类: 1、必备参数/必须参数:定义几个就要传几个 2、默认参数(缺省参数):可传可不传,不传的 阅读全文
posted @ 2021-09-13 09:35 2orange 阅读(148) 评论(0) 推荐(0)
摘要:1、函数的作用和意义 函数的作用:封装代码 函数的意义:提高代码的重用率 可以将单一的功能代码封装成一个函数,在需要使用该功能时直接调用函数即可 2、函数的定义和调用 函数定义的语法: def 函数名(): 内部功能代码1 内部功能代码2 内部功能代码3 函数命名规范同变量,推荐使用下划线命名法 函 阅读全文
posted @ 2021-09-13 09:23 2orange 阅读(140) 评论(0) 推荐(0)
摘要:1、for循环 for循环是一种遍历循环 for i in XXX: 循环体 案例1:10位同学的成绩放在一个列表中,区分成绩等级 小于60分:不及格 60-79分:及格 80-100分:优秀 li=[78,32,55,77,88,90,54,24,67,39] for item in li: if 阅读全文
posted @ 2021-09-10 15:08 2orange 阅读(625) 评论(0) 推荐(0)
摘要:1、while循环 语法: while 条件: 条件成立,循环执行的代码一 条件成立,循环执行的代码二 条件成立,循环执行的代码三 … … 如果条件一直成立,则一直循环,直到条件不成立,结束循环 例:打印100遍hello python n=0 while n<100: print(“hello p 阅读全文
posted @ 2021-09-10 14:30 2orange 阅读(504) 评论(0) 推荐(0)
摘要:1、条件判断 (1)if语句 if 条件: 条件成立时执行的代码 (2)if-else语句 if 条件: 条件成立时执行的代码 else: 条件不成立时执行的代码 (3)if-elif-else语句 if 条件1: 条件1成立时执行的代码 elif 条件2: 条件2成立时执行的代码 elif 条件3 阅读全文
posted @ 2021-09-10 14:00 2orange 阅读(57) 评论(0) 推荐(0)
摘要:1、关于集合 集合:set类型,也是通过{}来表示 形式:{value1,vlaue2,value3} 集合的特性: (1)集合中的数据不能存在重复的元素 (2)集合中的元素只能是不可变类型 (3)集合和字典都是无序的,没有下标索引 (4)集合是可变类型的数据 (5)支持增删查改 add:添加数据 阅读全文
posted @ 2021-09-10 13:51 2orange 阅读(313) 评论(0) 推荐(0)
摘要:1、字典的基本使用 (1)字典:dict类型,{}表示字典 (2)字典中的元素是由键值对(key:value)组成的,每个元素也是逗号隔开 (3)字典中没有下标的概念,键就是索引(字典内部元素是无序的) (4)字典中的相关规范: a、字典中的键(key)不能重复 b、字典中的键(key)只能使用不可 阅读全文
posted @ 2021-09-10 13:45 2orange 阅读(752) 评论(0) 推荐(0)
摘要: 阅读全文
posted @ 2021-09-08 09:34 2orange 阅读(17) 评论(0) 推荐(0)
摘要:1、元组的操作方法 元组只有查询的方法,没有增、删、改元素的操作方法 元组是不可变类型的数据:内部元素定义了之后不能进行修改 元组操作方法——通过下标取值、index、count 下标取值 tu=(11,22,33,44,33,11,11,33) print(tu[1]),得到结果为:22 inde 阅读全文
posted @ 2021-09-08 09:10 2orange 阅读(85) 评论(0) 推荐(0)
摘要:1列表常用方法——增:append、insert、extend append:往列表尾部追加元素 li=[11,22,33] li.append(666) print(li),得到结果:[11,22,33,666] insert:往列表中指定位置追加元素 例如要在11和22之间插入666 li.in 阅读全文
posted @ 2021-09-08 08:56 2orange 阅读(211) 评论(0) 推荐(0)
摘要:1、元组和列表 元组用小括号表示,tuple类型,如(“python”,“java”,666) 列表用中括号表示,list类型,如[“python”,“java”,666,“php”] 元组和列表可以保存多个数据,可以是任意类型的,每个元素、数据之间逗号隔开 元组通过list可以转换为列表,列表通过 阅读全文
posted @ 2021-09-08 08:42 2orange 阅读(223) 评论(0) 推荐(0)
摘要:1、格式化输出 1-1format格式化输出 例1:s1=“今天收到来自{}的书费{}元” s2=s1.format(“小明”,100) 例2:s2=“今天收到来自{}的书费{}元”.format(“小明”,100) 例3:name=input(“输入姓名”) money=input(“输入钱款”) 阅读全文
posted @ 2021-09-07 12:03 2orange 阅读(156) 评论(0) 推荐(0)
摘要:1、字符串的拼接 方法一:用+ 方法二:用.join,.join和后面学的.split互为反向操作 .join中可以是元组或者列表,其实,括号中是集合类型也可以 例子:s1=“python” s2=“hello” s3=“strong” s4=s1+“666”+s2 j=“666” s5=j.joi 阅读全文
posted @ 2021-09-07 11:43 2orange 阅读(798) 评论(0) 推荐(0)
摘要:1、python基本数据类型之数值型 整数:int类型 浮点数:float类型 布尔值(True,False):bool类型 2、python中的运算符 2-1算术运算符:+、-、*、/、//(除法取整,直接取整数部分)、%(除法取余)、**(幂运算) 2-2比较运算符:>、<、>=、<=、==、! 阅读全文
posted @ 2021-09-07 10:55 2orange 阅读(229) 评论(0) 推荐(0)
摘要:1、注释 #+空格+注释内容,例如:# 这是一行注释 快捷键:ctrl+/ 2、文档注释 “““ 这种叫做文档注释(文档字符串型) 对整个内容进行相关的注释说明 ””” 3、控制台输入内容:input 例如:name=input(“请输入姓名”) print(name) 4、变量 变量的命名规范: 阅读全文
posted @ 2021-09-07 10:48 2orange 阅读(81) 评论(0) 推荐(0)