自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(21)
  • 收藏
  • 关注

原创 pytest-skip跳过用例

skip使用跳过装饰器来进行标记:@pytest.mark.skip(self,reason=None)无条件跳过# -*- coding: utf-8 -*-'''@Time : 2021/1/25@Author : @File : skip.py@describe : '''import pytestclass TestCase: @pytest.mark.skip('不执行') def test_one(self): print('测试用

2021-01-25 08:26:36 425

原创 pytest-自定义标记mark

pytest可以自定义标记,在运行测试用例的时候可以有选择地运行某些用例@pytest.mark.标记名可标记范围:测试方法、测试类标记名无限制同一个测试类/方法可同时拥有多个标记# -*- coding: utf-8 -*-'''@Time : 2021/1/21@Author : @File : c.py@describe : '''import pytest@pytest.mark.loginclass TestLogin: @pytest.mark.tes

2021-01-21 08:37:41 563 1

原创 pytest-参数化parametrize

pytest的参数化可以使用pytest.mark.parametrize 装饰器来实现单参数pytest.mark.parametrize(argnames,argvalues)argnames:参数名argvalues:参数对应的值,类型必须为可迭代类型,一般为 list,可嵌套列表,字典,字符串传入多个值时,测试用例会被执行多次,每次取一个值去运行# -*- coding: utf-8 -*-'''@Time : 2021/1/19@Author : @File : one.p

2021-01-19 08:18:36 474

原创 pytest-fixture之conftest.py

conftest.py作用多个.py文件想使用同一个前置函数,如果使用setup和teardown代码重复率较高,并且编写麻烦,所以可以使用conftest.py进行实现conftest.py配置conftest.py 配置脚本名称是固定的,不能改名称conftest.py 不运行的用例要在同一个 pakage 下,并且有__init__.py文件不需要 import 导入 conftest.py,pytest 用例会自动查找conftest.py示例示例一:无yield# -*- co

2021-01-18 08:15:33 438

原创 pytest-fixture常用参数详解

fixture调用方式@pytest.fixture(scope = "function",params=None,autouse=False,ids=None,name=None)

2021-01-15 08:30:39 715

原创 pytest-测试用例的setup和teardown

用例运行级别模块级(setup_module/teardown_module),开始于模块始末,全局的函数级(setup_function/teardown_function),只对函数用例生效(不在类中)类级(setup_class/teardown_class),只在类中前后运行一次方法级(setup_method/teardown_method),开始于方法始末类里面的(setup/teardown),运行在调用方法的前后函数级/模块级#test.pyimport pytest

2021-01-10 11:12:17 528

原创 python-装饰器

装饰器装饰器是高阶函数,是对传入函数功能的装饰,即进行增强无参装饰器是一个函数函数作为形参返回值为函数可以使用@functionname来简化调用现有一个加法函数,想对其进行输出方式的加强,重定义一个logger函数,在函数内调用已经定义的加法函数,从而达到对功能的加强def add(x,y): return x + ydef logger(fn): print('begin') x = fn(4,5) print('end') return x#调用过程为:l

2020-12-27 14:34:57 61

原创 python-高阶函数

高阶函数定义接受一个或多个函数作为参数输出一个函数'''实例一:'''def counter(base): def inc(step=1): nonlocal base base += step return base return inc#返回为一个函数 '''调用:'''foo = counter(5)#从5开始计数sec = foo()#step使用默认值1'''自定义sort函数,返回一个新列表,可以设置升序或降序,可以设置一个排序的函数'''

2020-12-27 13:42:09 148

原创 python-匿名函数lambda

匿名函数使用lambda关键字来定义匿名函数参数列表不需要用小括号使用冒号来分割参数列表和表达式不需要使用return,表达式的值即函数的返回值lambda表达式只能写在一行lambda 参数列表:参数表达式lambda x : x **2#定义(lambda x : x **2)(4)#调用使用实例如下:print((lambda :0)())print((lambda x,y=3:x+y)(5))print((lambda x,y=3:x+y)(5,6))print((l

2020-12-25 08:27:00 127

原创 python-函数的返回值和作用域

函数返回值所有函数都有返回值,若函数体中无return语句,隐式调用return Nonereturn None可以简写为return所有函数的返回值都只能为一个return [1,2,3]返回一个列表return 1,2,3 返回一个元组函数作用域全局作用域在整个运行环境中可见局部作用域在函数、类等内部可见局部变量的使用范围不能超过其所在的局部作用域def fn1(): x = 1def fn2(): print(x)print(x)...

2020-12-24 15:35:12 2974

原创 python-函数、参数及参数解构

位置参数按照参数定义传入实参def f(x,y,z)调用时使用f(1,2,3)按照参数的定义来传入实参当传入实参数量比形参数量多时,报错关键字参数使用形参的名字来传入实参,传参顺序可与定义顺序不同def f(x,y,z)调用时使用f(x=1,y=2,z=3)位置参数必须在关键字参数前传入def f(x,y,z): print('a')f(1,2,3)f(x=1,y=2,z=3)f(1,y=2,z=3)f(x=1,2,3)#该方式报错,位置参数应在关键字参数之前

2020-12-21 13:34:35 291

原创 python-常用内建函数

标识id返回对象的唯一标识,CPython返回内存地址a = 'abc'print(id(a))'''输出:2421708552320'''

2020-12-18 08:40:33 119

原创 python-生成器

语法(返回值 for 元素 in 可迭代对象 if条件)生成器表达式返回的是一个生成器对象,生成器为可迭代对象,也是迭代器生成器表达式是按需计算(或称惰性求值、延迟计算),即需要的时候才会进行计算生成器表达式生成器迭代到最后一个元素之后不会再重新开始新一轮的迭代g = (x for x in range(1,11))next(g)#next()函数对迭代器进行迭代,取出第一个值for i in g: print(i)print('~~~~~~~')for i

2020-12-16 09:04:51 101

原创 解析式(列表、集合、字典)

列表解析式[返回值 for 元素 in可迭代对象 if条件]注:可用多个for循环或多个if条件,但不可用if…elif…生成一个列表,元素0~9,对每一个元素自增1后求平方返回新列表#一般写法nums = []for i in range(10): nums.append((i+1)**2)print(nums)#列表解析式nums = nums = [(i+1)**2 for i in range(10)]print(nums)#输出[1, 4, 9, 16, 25,

2020-12-15 20:19:00 119

原创 python-字典(dict)

dict:key-value键值对组成的数据的集合是可变的、无序的、key不可重复字典初始化d1 = {}d2 = dict(a=1,b=2,c=(1,2))#{'a': 1, 'b': 2, 'c': (1, 2)}d3 = {'a':10,'b':20,'c':[1,2,3]}元素访问1.d[key],返回key对应的value值,若不存在抛出异常KeyError2.get(key,[,default]),返回key对应的value值,若不存在返回缺省值,若缺省值未设置返回None3.

2020-12-15 20:04:52 373

原创 python-集合(set)及操作

set:集合可变的、无序的、不重复的元素的集合,元素不可索引初始化s = set()s = set(iterable) #嵌套可迭代对象set内的元素必须可以hashs1 = set()s2 = set(range(5))s3 = set(list(range(10)))s4 = {}#该初始化为字典s5 = {9,10,11}#sets6 = {(1,2),3,'a'}s7 = {[1],(1,),1}#报错,因为包含不可哈希的元素:list元素增加1.add(xxx),增加

2020-12-15 15:35:18 438

原创 python切片

python的切片操作适用于有索引的数据结构切片方式python的切片一般包含三个参数,start_index、end_index、stepstep的方向应与start_index—>end_index的方向一致切片举例1.切取单个元素#当索引只有一个数时,表示切取某一个元素。>>>a = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]>>>a[0]>>>0>>>a[-4]>>&gt

2020-12-13 17:21:21 283

原创 python-常见字符串操作

字符串是由一个个字符组成的有序序列,是不可变的,可索引,可迭代索引访问sql = 'select * from table ABC.AA'print(sql[4])#输出c字符串连接1.join连接将可迭代对象进行连接,连接的元素只能是str类型,返回一个新的字符串lst = ['a','b','c']lst1 = ' '.join(lst)#使用空格连接print(lst1)lst2 = '*'.join(lst)#使用*连接print(lst2)lst3 = '~~~'.

2020-12-13 16:52:11 117

原创 python-元组(tuple)

元组是一个有序的元素组成的集合,是一个不可变对象,用()来表示元组初始化t = tuple()t = ()t = (1,2,3,4)t = ‘a’,‘b’,‘c’元组访问元组可以通过索引来进行访问tup1 = ('physics', 'chemistry', 1997, 2000)tup2 = (1, 2, 3, 4, 5, 6, 7 )print("tup1[0]: ", tup1[0])print("tup2[1:5]: ", tup2[1:5])#输出tup1[0]: p

2020-12-13 15:27:36 376 1

原创 python-列表(List)

列表初始化列表的定义分为以下几种:lst = list()lst = []lst = [2,6,9,‘ab’]lst = list(range(5))列表索引访问查询列表中某个索引处的数值,[]内数值为列表索引,索引为-1表示当前列表最后一个值lst = [1,3,5,7,8,5,6,2]print(lst[3])print(lst[-1])#输出72列表查询1.index(value,[start,[stop]]) 从指定区间查找列表内元素是否匹配,匹配到第一个就返回

2020-12-13 15:06:26 411

原创 python-基础语法(分支、循环)

python为动态、强类型语言,不用事先声明类型,可以随时赋值为其他类型分支结构分支结构:根据不同情况进行判断,条件满足执行某条件下的语句。1.单分支结构if语句:condition必须是一个bool类型if 1<2: print('1 less than 2')2.多分支结构if…elif…else语句a =5if a <0: print('negative')elif a ==0: print('zero')else: print('positive')

2020-12-13 14:22:50 147

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除