
Python
Python 学习过程中的一些小Tip
暗潮汹涌
已上岸体制内,得老长时间或者是不会更新测试内容啦
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
【python】小技巧-判断一个字典中是否包含另一个字典的值,即实际结果中是否包含预期结果
在进行自动化测试的时候,我们经常会遇到这样一种情况。 我们的预期结果是 {'username':'kaishui'} 实际结果是{ 'code': 1 , 'username':'kaishui', 'token':'ihbedvbwejhvkjvberkjvbkjgkesjvbbje' } 我们可以很容易的看出实际结果包含了预期结果的值,所以测试通过。 那么怎么使用python来判断两个字典中是...原创 2020-04-20 22:02:53 · 3873 阅读 · 1 评论 -
【python】通过smtp发送邮件
Python 发送邮件 1.开启邮箱SMTP服务 发送邮件需要使用SMTP服务器,常用的免费服务器有 163,QQ,126. 163邮箱的配置方式如下: 我的授权码:QOHCKMQEHSSHDFMR 2.使用python发送附件 使用模块: smtplib email 以上两个模块都无需安装,能够直接使用。 import smtplib from email.mime.text import ...原创 2020-04-14 21:00:02 · 699 阅读 · 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 · 466 阅读 · 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 · 1466 阅读 · 0 评论 -
【Python】os模块的一些基本应用
from configparser import ConfigParser import yaml import os # 查看当前所在路径 print(os.getcwd()) # 结果:E:\PycharmProjects\Interface_auto_test # 列举目录下的所有文件,返回列表类型的数据 print(os.listdir( os.getcwd())) # 结果...原创 2020-03-22 22:18:26 · 266 阅读 · 0 评论 -
【Python】ini 与 yaml 配置文件的读取和写入
新建一个配置文件 配置文件的优点:将所有的代码吗和配置都变成模块化可配置化,这样能够提高代码的重用性。 配置文件的命名:一般以ini , conf ,yaml ,cfg 结尾。 格式:由配置块和配置项组成,例如下方的 appsetting.ini 文件 # 这里是日志相关的配置 [log] # 日志收集器的等级 level = DEBUG # 输出到日志文件的等级 fh_level =...原创 2020-03-21 19:24:42 · 938 阅读 · 0 评论 -
【Python】python所学基础语法大纲
python基础语法 数据类型 数值 int类型 float类型 bool类型 运算符 算数运算符:+,-,*,/,%,//,** … 比较运算符:>,<,==,!= … 赋值运算符:=,+=,-=,*=,/= … 逻辑运算符:and or not … 身份运算符:is is not … 成员运算符:in not in … ...原创 2020-03-21 11:00:56 · 373 阅读 · 0 评论 -
【Python】python的面向对象思想
python是一门面向对象的语言,其中最为重要的概念就是类与对象: 类和对象: 类:对一类事物的抽象概念(模型),不是真实存在,描述了该类事物共同的特征和行为。 实例对象:类的具体个体,是该类事物的具体表现,是真实存在的 类名规范: 符合标识符的命名规范:英文数字加下划线,不能够以数字开头。 命名风格:大驼峰 属性 属性是用来描述事物的特征的。 属性分为类属性和实例属性: 类属性:这一类事物...原创 2020-03-20 16:56:12 · 598 阅读 · 0 评论 -
【Python】logging 日志模块
级别 logging 一共有五个级别: 级别 介绍 DEBUG 输出详细的运行情况,主要用于调试 INFO 确认一切按预期运行,一般用于输出重要运行情况 WARNING 一些意想不到的事情发生了(比如:“警告:内存空间不足”),但是这个软件还能按预期工作,在不久的将来将会出现问题 ERROR 发生了错误,软件没能执行一些功能,还可以继续执行 CRITICAL 一个严...原创 2020-03-17 23:04:47 · 951 阅读 · 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 · 997 阅读 · 0 评论 -
【Python】基础知识整理
本篇博客是对python中一些基础语法,编程知识的整理。因为是在自己的认知基础上所写,写得比较简略。部分知识也并未深入探讨学习,看看就好 文章目录变量的命名规则随机数字符串类型转换 变量的命名规则 应满足以下条件: 由数字、字母、下划线组成,但是不能以数字开头 不能使用python 的关键字 如何查看python的关键字呢?使用以下代码: import keyword print(keywor...原创 2020-02-18 14:28:50 · 290 阅读 · 0 评论 -
【Python】闭包
如果在A函数中定义了一个B函数,那么我们要如何调用这个B函数呢? 这里就引入了闭包这个概念。 满足闭包的三个条件: 在函数中有嵌套函数 外层函数的返回值是内层嵌套函数的函数名 内层函数对外部作用域有非全局变量的引用,即使用外层函数的参数或者是外层函数定义的变量 这样说了可能还是不太清楚,具体示例如下: def func(num): print('这是外层函数的输出') def ...原创 2020-02-16 20:41:44 · 155 阅读 · 0 评论 -
【Python】函数进阶 - 偏函数
1.什么是偏函数 在Python的内置模块 functools 提供了很多有用的功能,其中一个就是偏函数(partial) 作用: 当函数的参数个数太多,需要简化时,使用functools.partial 可以创建一个新的函数,这个新函数可以固定住原函数的部分参数,从而在调用时更简单。 2.语法 partial(调用的函数名称,该函数要固定的参数1,该函数要固定的参数2,…) 能够调用自己写的函数...原创 2020-02-16 16:10:48 · 209 阅读 · 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 · 165 阅读 · 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 · 573 阅读 · 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 · 604 阅读 · 0 评论 -
【Python】 函数进阶 - 匿名函数
定义 不需要使用def去定义,也不用给函数取名字,用Lambda表达式来定义,这种函数叫做匿名函数 格式 lambda 参数:表达式(作为返回值) 示例 将以下函数改为匿名函数: # 普通函数 def func(var1): return var1 * 2 # 匿名函数写法 lambda var1: var1 * 2 # 匿名函数定义后可以直接调用 (lambda var1: var...原创 2020-02-16 10:51:48 · 320 阅读 · 0 评论 -
【Python】函数进阶 - 纯函数
1. 概念 一个函数的返回结果只依赖于他的参数,并且只执行过程里面没有副作用,我们就把这个函数叫做纯函数 2. 3个原则 变量都只在函数作用域内获取,作为函数的参数传入 不会产生副作用,不会改变被传入的数据或者其他数据(全局变量) 相同的输入保证相同的输出 以上原则中,函数的副作用需要解释一下: 副作用是指函数被调用,完成可函数既定的计算任务,但同时因为访问了外部数据,尤其是因为对外部数据进行...原创 2020-02-16 10:34:36 · 289 阅读 · 0 评论 -
【Python】数据类型扩展 - 生成器、可迭代对象和迭代器
文章目录1. 什么是生成器2.生成器的创建 1. 什么是生成器 通过列表生成式,我们可以直接创建一个列表,但是,受到内存限制,列表容量肯定是有限的,而且创建一个包含100万个元素的列表,不仅占用很大的存储空间,如果我们仅仅需要访问前面几个元素,那后面绝大多数元素占用的空间都白白浪费了。 所以,如果列表元素可以按照某种算法推算出来,那我们是否可以在循环的过程中不断推算出后续的元素呢?这样就不必创建完...原创 2020-02-15 13:20:59 · 378 阅读 · 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 · 267 阅读 · 0 评论 -
【Python】数据类型扩展 - 元组和命名元组
命名元组是在元组基础上的一个扩展,这里先介绍一下何为元组 文章目录1. 元组1.创建元组2.访问元祖3.修改元组4.删除元组5.元组内置函数2.命名元组 1. 元组 元组长的很像列表,但是却是用圆括号而不是方括号来标识。定义元组后,如果想要访问其中的元素,也可像访问列表中的值一样使用索引访问。 1.创建元组 代码如下 tup1 = ('physics', 'chemistry', 1997, 20...原创 2020-02-14 10:40:48 · 548 阅读 · 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 · 2594 阅读 · 0 评论