目录1、前言2、Fixture的优势3、Fixture的定义与调用(1)定义方法(2)参数简要说明(3)调用方法(4)使用yield实现后置 1、前言 fixture中文名翻译为夹具,作用与上一篇中setup和teardown一致,都是用来做前后置处理的,但fixture更灵活更强大。它支持部分前后置,比如有时候我们不需要为每一条测试用
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88
1.什么是函数对象 函数对象指的是我们在定义函数时函数的名字。 为什么要有函数对象 函数的对象有四个作用: 1.可以当做值去赋值给另一个变量 2.可以当做参数去传递给另一个函数(其实是把函数的内存地址传给另一个函数) 3.可以当做另一个函数的返回值 4.可以当做列表,字典等容器的一
装饰器实质就是一种特殊的函数。要了解装饰器,首先要了解闭包。 #_author: Administrator #_date: 2020/5/25 #闭包 就是满足下面两个条件(条件一、二)的一个函数 def outer(): x = 10 def inner(): #条件一 inner()就是内部函数 print(x) #条件二 x外部环境
8.2.0 安装JDK[root@harbor ~ ]# rpm -ivh jdk-8u172-linux-x64.rpm[root@harbor ~ ]# rpm -ivh jenkins-2.249.1-1.1.noarch.rpm[root@harbor ~ ]# yum install net-tools git -y 8.2.1配置maven[root@harbor ~ ] cd /soft[root@harbor ~ ] tar xvf apache-maven-3.6.2-bin.tar.g
目录1. 验证GIL的存在1.1 验证GIL是否存在1.2 针对不同的数据应该加不同的锁处理2. 验证python多线程是否有用2.1 单个CPU IO密集型(代码有IO操作)2.2 单个CPU 计算机密集(代码没用IO)2.3 多个CPU IO密集型(代码有IO操作)2.4 多个CPU 计算机密集(代码没有IO)2.5 代码案例3. 死锁现象3.1 定
前言 青年最主要的任务是学习。—— 朱德 正值青年的我的任务!!! 一、autouse参数是什么? autouse参数是fixture方法中的其中一个参数;(ps:为了防止有些朋友单独看这篇博文才写了这句) autouse从英文字面意思上来理解是自动使用; autouse参数设置后能自动让范围内的测试方法都执行
编程范式,有 命令式 编程、函数式编程、符号式编程 等; python 属于解释性语言,即一句一句执行,然后 中间变量 由于不知道后面是否会用到 都 会被存储,每次 都会重新调用 函数; python 代码属于 命令式编程; 同时 python 提供了 符号式编程,tensorflow 就是一种符号式编程,其先构
python项目开发过程中,需要使用全局变量操作,缓存记录、数据共享等功能都需要全局变量的功能才得以实现,下面简单介绍下当前文件 与不同文件之间的全局变量设置与操作。 一、当前文件内全局变量 1、变量的作用域说明 介绍当前文件的全局变量前,先介绍下变量的作用域
任务一: def calc(a, b, op): if op == "+": return add(a, b) elif op == "-": return sub(a, b) elif op == '*': return mul(a, b) elif op == "/": if b!= 0: r
python之多继承: 一个子类可以有多个父类 class father: def demo(self): pass def test(self): pass class mother: def demo(self): pass def test(self): pass class son(father,mother): pass View Code
求一个数的阶乘 # 迭代方法实现 def factIter(n): result = n for i in range(1, n): result *= i return result print(factIter(10)) # 递归方法实现 def funC(n): if n == 1: return 1 else: return n * funC(n-1) print(funC(1
前言: 在做自动化的过程中,编写用例时候需要用到用例的前置和用例的后置,其中pytest中有setup_class和teardown_class可以帮助我们完成这些,但是不够完善而且灵活性不够强。举个简单的例子,一个calss中有3条用例,其中2条需要登录,1条不需要登录,这个时候如果在用setup和teardown来做就
前言 单元测试框架基本上都具有setup和teardown的功能; setup用来实现用例执行前的一些操作(如:数据准备、打开浏览器等操作); teardown用来实现用例执行完成之后的一些操作(如:数据清理、关闭浏览器等操作)。 pytest作为一款强大的测试框架同样也有setup和teardown语法。 函数级(setu
Python 学习笔记 文件处理 文件的读取与写入 open()函数,用来读取或写入文件,用法为 stream=open('文件路径','操作方式') 可以对这个流进行文件内容的操作 更多操作模式如下 stream.readline()返回的是文件里一行的内容,且在使用后,文件的开始位置会变为下一行的起始位置,当无行可读
面向对象和面向过程 类的组成 类属性 类中方法外的变量称为类属性,被该类的所有对象共享 Student.cm() #访问类属性 实例方法 静态方法 使用@staticmethod修饰的方法,使用类名直接访问的方法,Student.sm() #调用静态方法 类方法
#!/usr/bin/env python # -*- coding:utf-8 -*- # author:Sun # datetime:2022/7/26 0026 """ 动态语言允许我们在程序运行时给对象绑定新的属性或方法, 当然也可以对已经绑定的属性和方法进行解绑定。 但是如果我们需要限定自定义类型的对象只能绑定某些属性, 可以通过在类中定义__
周总结 阶段一 面向对象前戏 编程思想(面向过程、面向对象) 类与对象的概念 类与对象的创建 对象的实例化方法(独有数据) 对象的绑定方法(独有功能) 阶段二 对象独有的功能 动静态方法 面向对象三大特诊之继承 继承的本质 数据和方法的查找顺序 经典类与新式类 派生方法 阶段三 派生
上周内容回顾 编程思想 面向过程编程 过程其实就是流程 面向过程编程其实就是执行一系列流程 就是按照指定步骤依次执行 最终可以得到想要的结果 '''面向过程编程相当于让你给出一个具体的解决方案''' 面向对象编程 核心就是"对象"二字 对象其实就是一个容器 里面将数据和功能
目录派生方法的实战演练一、发现问题:二、解决问题解决方法 1:手动将数据类型转成符合要求的解决方法2:利用派生方法面向对象三大特性之一:封装一、意义二、特点1.在定义阶段使用双下划线开头的名字,都是隐藏的属性2.在Python中不会真正的限制任何代码property伪装属性一、介绍二、扩展
"""阶乘思路: 求8的阶乘:8*(8-1)...*1 所以结束条件就是最后乘到1 步骤: 先定义一个函数,结束条件为乘到1,然后返回1挂起的return中 """ def f (n): if n == 1: return 1 return n *f(n-1) #8*f(7) 7*f(6) 6*f(5) 5*f(4) 4*f(3) 3*f(2) 2*f(1) ret =
反射实战案例 1.加载配置文件中所有纯大写的配置 import src # AA = '是大写', aa = '是小写' new_dict = {} print(dir(src)) # dir用于获取括号中对象可以调用的名字 # ['AA', '__builtins__', '__cached__', '__doc__', '__file__', '_
目录一、派生实战演练1.代码发生错误2.解决方法二、三大特性之封装1.封装相关知识2.属性的封装3.封装修改数据三、property伪装1.了解封装2.什么时候需要伪装?为什么要需要伪装?四、三大特性之多态1.了解多态2.多态的使用3.老早之前我们其实就接触了多态4.多态的了解知识5.多态之鸭
day9 竹杖芒鞋轻胜马,谁怕?一蓑烟雨任平生。 教主之位 前天只是初步了解面向对象这种思想,今天将要对于面向对象进行更深入的阐释,毕竟面向对象的教主之位可没有那么好拿的。 @property装饰器 该问题是对前面python属性和方法访问权限的延申,毕竟虽然一般不将属性设置为私有,但是如果
函数是一段实现某个功能的业务代码,定义好以后可重复使用,也成为了方法 内置函数 python 内部已经写好的公共方法 自定义函数 自己编写的可以调用的方法 #调用函数的方法 函数名(参数列表)#自定义函数def--关键字 square----函数名 (x)----参数函数主体 s=x*xreturn s ----返回变量