![](https://img-blog.csdnimg.cn/20200205143228945.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
Python
Python 学习过程中的一些小Tip
暗潮汹涌
已上岸体制内,得老长时间或者是不会更新测试内容啦
展开
-
【python】小技巧-判断一个字典中是否包含另一个字典的值,即实际结果中是否包含预期结果
在进行自动化测试的时候,我们经常会遇到这样一种情况。我们的预期结果是 {'username':'kaishui'}实际结果是{ 'code': 1 , 'username':'kaishui', 'token':'ihbedvbwejhvkjvberkjvbkjgkesjvbbje' }我们可以很容易的看出实际结果包含了预期结果的值,所以测试通过。那么怎么使用python来判断两个字典中是...原创 2020-04-20 22:02:53 · 3677 阅读 · 1 评论 -
【python】通过smtp发送邮件
Python 发送邮件1.开启邮箱SMTP服务发送邮件需要使用SMTP服务器,常用的免费服务器有 163,QQ,126.163邮箱的配置方式如下:我的授权码:QOHCKMQEHSSHDFMR2.使用python发送附件使用模块: smtplib email以上两个模块都无需安装,能够直接使用。import smtplibfrom email.mime.text import ...原创 2020-04-14 21:00:02 · 623 阅读 · 0 评论 -
【Python】操作mysql数据库的简单介绍
python 操作 mysql 数据库:# 连接到数据库# cursorclass = pymysql.cursors.DictCursor表示执行后游标对象中存储的值为dict类型conn = pymysql.connect(host="120.78.128.25", port=3306, user='future', password='123456', ...原创 2020-03-29 17:39:56 · 366 阅读 · 5 评论 -
【Python】configparser.InterpolationMissingOptionError: Bad value substitution 解决方案
今天在执行接口自动化时报了一个错误,报错信息如下:configparser.InterpolationMissingOptionError: Bad value substitution: option 'formats' in section 'log' contains an interpolation key 'asctime' which is not a valid option n...原创 2020-03-26 21:42:54 · 1360 阅读 · 0 评论 -
【Python】os模块的一些基本应用
from configparser import ConfigParserimport yamlimport os# 查看当前所在路径print(os.getcwd()) # 结果:E:\PycharmProjects\Interface_auto_test# 列举目录下的所有文件,返回列表类型的数据print(os.listdir( os.getcwd())) # 结果...原创 2020-03-22 22:18:26 · 195 阅读 · 0 评论 -
【Python】ini 与 yaml 配置文件的读取和写入
新建一个配置文件配置文件的优点:将所有的代码吗和配置都变成模块化可配置化,这样能够提高代码的重用性。配置文件的命名:一般以ini , conf ,yaml ,cfg 结尾。格式:由配置块和配置项组成,例如下方的 appsetting.ini 文件# 这里是日志相关的配置[log]# 日志收集器的等级level = DEBUG# 输出到日志文件的等级fh_level =...原创 2020-03-21 19:24:42 · 851 阅读 · 0 评论 -
【Python】python所学基础语法大纲
python基础语法数据类型数值int类型float类型bool类型运算符算数运算符:+,-,*,/,%,//,** …比较运算符:>,<,==,!= …赋值运算符:=,+=,-=,*=,/= …逻辑运算符:and or not …身份运算符:is is not …成员运算符:in not in …...原创 2020-03-21 11:00:56 · 281 阅读 · 0 评论 -
【Python】python的面向对象思想
python是一门面向对象的语言,其中最为重要的概念就是类与对象:类和对象:类:对一类事物的抽象概念(模型),不是真实存在,描述了该类事物共同的特征和行为。实例对象:类的具体个体,是该类事物的具体表现,是真实存在的类名规范:符合标识符的命名规范:英文数字加下划线,不能够以数字开头。命名风格:大驼峰属性属性是用来描述事物的特征的。属性分为类属性和实例属性:类属性:这一类事物...原创 2020-03-20 16:56:12 · 286 阅读 · 0 评论 -
【Python】logging 日志模块
级别logging 一共有五个级别:级别介绍DEBUG输出详细的运行情况,主要用于调试INFO确认一切按预期运行,一般用于输出重要运行情况WARNING一些意想不到的事情发生了(比如:“警告:内存空间不足”),但是这个软件还能按预期工作,在不久的将来将会出现问题ERROR发生了错误,软件没能执行一些功能,还可以继续执行CRITICAL一个严...原创 2020-03-17 23:04:47 · 676 阅读 · 0 评论 -
【Python】文件操作
1. 打开和关闭文件open(参数1,参数2,[buffering=None, encoding=None, errors=None, newline=None, closefd=True])参数1:文件路径参数2:打开的模式,在后面会有具体介绍,主要就是读和写模式后面的参数为可选参数。path = 'data.txt' # 文件与当前py文件处于同一个目录下path = r...原创 2020-02-23 17:31:13 · 906 阅读 · 0 评论 -
【Python】基础知识整理
本篇博客是对python中一些基础语法,编程知识的整理。因为是在自己的认知基础上所写,写得比较简略。部分知识也并未深入探讨学习,看看就好文章目录变量的命名规则随机数字符串类型转换变量的命名规则应满足以下条件:由数字、字母、下划线组成,但是不能以数字开头不能使用python 的关键字如何查看python的关键字呢?使用以下代码:import keywordprint(keywor...原创 2020-02-18 14:28:50 · 227 阅读 · 0 评论 -
【Python】闭包
如果在A函数中定义了一个B函数,那么我们要如何调用这个B函数呢?这里就引入了闭包这个概念。满足闭包的三个条件:在函数中有嵌套函数外层函数的返回值是内层嵌套函数的函数名内层函数对外部作用域有非全局变量的引用,即使用外层函数的参数或者是外层函数定义的变量这样说了可能还是不太清楚,具体示例如下:def func(num): print('这是外层函数的输出') def ...原创 2020-02-16 20:41:44 · 125 阅读 · 0 评论 -
【Python】函数进阶 - 偏函数
1.什么是偏函数在Python的内置模块 functools 提供了很多有用的功能,其中一个就是偏函数(partial)作用:当函数的参数个数太多,需要简化时,使用functools.partial 可以创建一个新的函数,这个新函数可以固定住原函数的部分参数,从而在调用时更简单。2.语法partial(调用的函数名称,该函数要固定的参数1,该函数要固定的参数2,…)能够调用自己写的函数...原创 2020-02-16 16:10:48 · 173 阅读 · 0 评论 -
【Python】函数进阶 -内置函数
1. locals 函数用来获取当前作用于所有的变量,返回一个字典def f(num): a = 100 for i in range(5): i += num a += 1 dic = locals() print(dic)print(f(3))结果:{'num': 3, 'a': 105, 'i': 7}2. gl...原创 2020-02-16 15:05:23 · 124 阅读 · 0 评论 -
【Python】 一些练习题
1. 第一个元素是数据标识,第二个元素的数值必须大于等于50才返回,不够59往后累加,加到最后如果不够50也直接返回,因为没有可加的数据了。例子1:a = [[1,3],[2,51],[3,49],[4,42],[5,42]] # 入参a1 = [[2,54],[4,91],[5,42]] # 返回例子2:b = [[1,50],[2,5],[3,10],[4,42],[5,42],[6...原创 2020-02-16 12:24:31 · 395 阅读 · 0 评论 -
【Python】函数进阶 - 递归函数
递归函数:在函数内部能够调用函数自身,这样的函数就叫做递归函数。地柜便捷:退出递归的终止条件实例一:通过递归函数实现任意数的阶乘# f(1) = 1# f(2) = 2*f(1)# f(3) = 3*f(2)def factorial(n): if n==1: return 1 else: return n*factorial(n-1)...原创 2020-02-16 10:57:18 · 461 阅读 · 0 评论 -
【Python】 函数进阶 - 匿名函数
定义不需要使用def去定义,也不用给函数取名字,用Lambda表达式来定义,这种函数叫做匿名函数格式lambda 参数:表达式(作为返回值)示例将以下函数改为匿名函数:# 普通函数def func(var1): return var1 * 2# 匿名函数写法lambda var1: var1 * 2# 匿名函数定义后可以直接调用(lambda var1: var...原创 2020-02-16 10:51:48 · 243 阅读 · 0 评论 -
【Python】函数进阶 - 纯函数
1. 概念一个函数的返回结果只依赖于他的参数,并且只执行过程里面没有副作用,我们就把这个函数叫做纯函数2. 3个原则变量都只在函数作用域内获取,作为函数的参数传入不会产生副作用,不会改变被传入的数据或者其他数据(全局变量)相同的输入保证相同的输出以上原则中,函数的副作用需要解释一下:副作用是指函数被调用,完成可函数既定的计算任务,但同时因为访问了外部数据,尤其是因为对外部数据进行...原创 2020-02-16 10:34:36 · 239 阅读 · 0 评论 -
【Python】数据类型扩展 - 生成器、可迭代对象和迭代器
文章目录1. 什么是生成器2.生成器的创建1. 什么是生成器通过列表生成式,我们可以直接创建一个列表,但是,受到内存限制,列表容量肯定是有限的,而且创建一个包含100万个元素的列表,不仅占用很大的存储空间,如果我们仅仅需要访问前面几个元素,那后面绝大多数元素占用的空间都白白浪费了。所以,如果列表元素可以按照某种算法推算出来,那我们是否可以在循环的过程中不断推算出后续的元素呢?这样就不必创建完...原创 2020-02-15 13:20:59 · 222 阅读 · 0 评论 -
【Python】数据类型扩展 - 推导式
1. 列表推导式直接看案例:需求1:如何快速生成一个[data0,data1,data2…data99]的列表?未使用推导式前代码:l=[]for i in range(100): l.append('data{}'.format(i))print(l)使用推导式后:new_l = [ 'data{}'.format(i) for i in range(100)]pri...原创 2020-02-14 17:59:13 · 209 阅读 · 0 评论 -
【Python】数据类型扩展 - 元组和命名元组
命名元组是在元组基础上的一个扩展,这里先介绍一下何为元组文章目录1. 元组1.创建元组2.访问元祖3.修改元组4.删除元组5.元组内置函数2.命名元组1. 元组元组长的很像列表,但是却是用圆括号而不是方括号来标识。定义元组后,如果想要访问其中的元素,也可像访问列表中的值一样使用索引访问。1.创建元组代码如下tup1 = ('physics', 'chemistry', 1997, 20...原创 2020-02-14 10:40:48 · 318 阅读 · 0 评论 -
【Python】日期时间格式化输出
要格式化日期,需要先导入time包:import time格式化时间使用time.strftime()方法,该方法的接口文档如下:def strftime(format, p_tuple=None): # real signature unknown; restored from __doc__ """ strftime(format[, tuple]) -> str...原创 2020-02-05 14:56:12 · 2387 阅读 · 0 评论