自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(136)
  • 问答 (1)
  • 收藏
  • 关注

原创 python:正则表达式

针对字符串提炼出需要的部分;正则表达式(或RE)是一种小型的,高度专业化的编程语言,(在python中)它内嵌在python中,并通过re模块实现。正则表达式模式被译为一系列的字节码,然后由用C编写的匹配引擎执行;一、元字符使用 说明 案例 说明 . 除换行符以外的任意一个符号;re.s模式也可以使.匹配包括换行在内的所有字符 ^ 匹配字符串的开头;在字符集[]中使用表示取反的意思 $ 匹配字符串的结尾

2021-12-12 19:39:11 709

原创 python:sys模块

sys是与解释器相关信息的模块用法 说明 sys.version 获取python解释器的版本信息 sys.plateform 获取操作系统平台名称 sys.path 返回模块的搜索路径,初始化时使用PYTHONPATH环境变量的值 sys.exit(0) 退出程序,正常退出时exit(0) sys.argv sys.maxint 最大的int值 ...

2021-12-11 19:37:53 552

原创 python:os模块

os模块是与操作系统交互的一个接口用法 说明 os.getcwd() 获取当前工作目录,即当前python脚本的工作目录 os.chdir() 改变当前脚本工作目录;相当于shell下的cd os.curdir 返回当前目录 os.pardir 获取当前目录的父目录字符串名 os.makedirs('dir1/dir2') 创建多层递归目录 os.removedirs(‘dir1/'dir2’) 删除多层递归目录 os.mkdir('

2021-12-11 19:04:02 727

原创 python:logging模块

一、basicConfig日志1.案例import logging# basicConf日志LOG_FORMAT = '%(asctime)s %(name)s %(levelname)s %(pathname)s %(lineno)s %(message)s'DATE_FORMAT = '%Y-%m-%d %H:%M:%S'logging.basicConfig(level=logging.WARNING, #默认是WARNING级别 for

2021-12-06 17:19:54 276 1

原创 python:hash模块

Python的hashlib提供了常见的摘要算法,如MD5,SHA1等等。什么是摘要算法呢?摘要算法又称哈希算法、散列算法。它通过一个函数,把任意长度的数据转换为一个长度固定的数据串(通常用16进制的字符串表示)。摘要算法就是通过摘要函数f()对任意长度的数据data计算出固定长度的摘要digest,目的是为了发现原始数据是否被人篡改过。摘要算法之所以能指出数据是否被篡改过,就是因为摘要函数是一个单向函数,计算f(data)很容易,但通过digest反推data却非常困难。而且,对原始数据做一个

2021-12-05 23:53:25 150

原创 python:random函数

import random# 获取大于0且小于1的随机浮点型数字print(random.random())# 获取大于等于1且小于等于10之间的整数print(random.randint(1,10))# 获取大于等于1且小于10之间的整数print(random.randrange(1,10))# 从列表中多选一print(random.choice([11,522,433]))# 从列表中随机选两个作为新的列表print(random.sample([11,22,33,44],.

2021-12-05 22:08:14 286

原创 python:random模块

import random# 获取大于0且小于1的随机浮点型数字print(random.random())# 获取大于等于1且小于等于10之间的整数print(random.randint(1,10))# 获取大于等于1且小于10之间的整数print(random.randrange(1,10))# 从列表中多选一print(random.choice([11,522,433]))# 从列表中随机选两个作为新的列表print(random.sample([11,22,33,44],.

2021-12-05 16:44:20 1170

原创 Python模块与包

一个.py文件就是一个模块,类似于一个文件夹就是一个包;一、模块1.模块介绍在计算机程序的开发过程中,随着程序代码越写越多,在一个文件里代码就会越来越长,越来越不容易维护。为了编写可维护的代码,我们把很多函数分组,分别放到不同的文件里,这样,每个文件包含的代码就相对较少,很多编程语言都采用这种组织代码的方式。而这样的一个py文件在Python中称为模块(Module)。模块是组织代码的更高级形式,大大提高了代码的阅读性和可维护性。模块一共四种:解释器内建模块 python标准库

2021-11-14 19:12:49 543

原创 Python之json的序列化和反序列化

序列化: 通过某种方式把数据结构或对象写入到磁盘文件中或通过网络传到其他节点的过程。反序列化:把磁盘中对象或者把网络节点中传输的数据恢复为python的数据对象的过程。序列化最重要的就是json序列化。JSON(JavaScript Object Notation, JS 对象标记) 是一种轻量级的数据交换格式。它基于 ECMAScript (w3c制定的js规范)的一个子集,采用完全独立于编程语言的文本格式来存储和表示数据。简洁和清晰的层次结构使得 JSON 成为理想的数据交换语言。 易于人阅读

2021-11-14 16:50:02 1127 1

原创 Python时间+日期模块_time&datetime模块

一、三种时间的表达方式时间的三种形式:(1) 时间戳(timestamp) :通常来说,时间戳表示的是从1970年1月1日00:00:00开始按秒计算的偏移量。我们运行“type(time.time())”,返回的是float类型。(2) 格式化的时间字符串(Format String): ‘1988-03-16’(3) 元组(struct_time) :struct_time元组共有9个元素共九个元素:(年,月,日,时,分,秒,一年中第几周,一年中第几天等)import time#

2021-11-14 01:21:54 889

原创 Python常见面试题

目录一、for循环相关1.python中如下代码,最后一次打印的结果是什么?一、for循环相关1.python中如下代码,最后一次打印的结果是什么?li = [1,2,3,4]for i in li: print(i)print(i)答:4;python中for循环没有独立开辟作用域的能力,所以for循环中的变量是全局作用域,最后一次打印的值是for循环中变量最后的值;...

2021-10-30 20:39:50 128

原创 Python赋值小知识补充

#单个变量赋值x = 1#两个变量赋值a,b = 1,2 #即a = 1 ,b = 2 ; 等同于 a,b = [1,2]q,w = [1,2,3]#此时会报ValueError:too many values to unpack;#可以用如下方法解决:q,*w = [1,2,3]#即q = 1 ,w = [1,2]以上表述的两个变量赋值常用语字典dict的遍历中:dict = {"name":"yuan","age":18}print(dict.items(..

2021-10-24 23:54:56 149

原创 Python使用RabbitMQ

1.消息队列介绍MQ全称为Message Queue 消息队列(MQ)是一种应用程序对应用程序的通信方法。MQ是消费-生产者模型的一个典型的代表,一端往消息队列中不断写入消息,而另一端则可以读取队列中的消息。这样发布者和使用者都不用知道对方的存在。生产者消费者模式是通过一个容器来解决生产者和消费者的强耦合问题。生产者和消费者彼此之间不直接通讯,而通过阻塞队列来进行通讯,所以生产者生产完数据之后不用等待消费者处理,直接扔给阻塞队列,消费者不找生产者要数据,而是直接从阻塞队列里取,阻塞队列就相当于一个缓

2021-10-19 17:33:01 302

原创 Python模块与包

目录1.模块1.1模块介绍2.模块导入1.3__name__2.包2.1什么是包2.2导入包语法2.3导入包的本质2.4__init__文件1.模块1.1模块介绍在计算机程序的开发过程中,随着程序代码越写越多,在一个文件里代码就会越来越长,越来越不容易维护。为了编写可维护的代码,我们把很多函数分组,分别放到不同的文件里,这样,每个文件包含的代码就相对较少,很多编程语言都采用这种组织代码的方式。而这样的一个py文件在Python中称为模块(Module)。

2021-10-16 23:07:35 929

原创 Python文件操作

1.编码1.1编码方式ASCII表众所周知,计算机起源于美国,英文只有26个字符,算上其他所有特殊符号也不会超过128个。字节是计算机的基本储存单位,一个字节(bytes)包括八个比特位(bit),能够表示出256个二进制数字,所以美国人在这里只是用到了一个字节的前七位即127个数字来对应了127个具体字符,而这张对应表就是ASCII码字符编码表,简称ASCII表。后来为了能够让计算机识别拉丁文,就将一个字节的最高位也应用了,这样就多扩展出128个二进制数字来对应新的符号。这张对应表因为是在ASC

2021-10-13 21:27:40 329 1

原创 Python数学函数

目录1.数学函数2.随机数函数3.三角函数4.数学常量1.数学函数 函数 返回值 ( 描述 ) abs(x) 返回数字的绝对值,如abs(-10) 返回 10 ceil(x) 返回数字的上入整数,如math.ceil(4.1) 返回 5 cmp(x, y) 如果 x < y 返回 -1, 如果 x == y 返回 0, 如果

2021-10-11 14:58:10 436

原创 Python可变数据类型和不可变数据类型+深拷贝浅拷贝

目录1.可变和不可变数据类型2.深浅拷贝1.可变和不可变数据类型Python的数据类型可以分为可变数据类型(列表和字典)和不可变数据类型(整型、浮点型、字符串、布尔类型以及元组)。可变类型:在id(内存地址)不变的情况下,value(值)可以变,则称为可变类型不可变类型:value(值)一旦改变,id(内存地址)也改变,则称为不可变类型(id变,意味着创建了新的内存空间)2.深浅拷贝# 案例1:变量赋值l1 = [1,2,3]l2 = l1 # 不是拷贝,完全指向一块内

2021-10-10 20:35:24 211

原创 Python函数

函数就是一段封装好的,可以重复使用的代码,它使得我们的程序更加模块化,避免大量重复的代码。1.函数声明'''def 函数名(参数列表): ''' # 函数文档 params: return: ''' # 实现特定功能的多行代码 [return [返回值]] #可选函数名:一个符合 Python 语法的标识符,最好见名知意,多个单词可以使用_表示,比如cal_sum形参列表:设置该函数可以接收多少个参数,多个参数之间用逗号(

2021-10-10 20:30:33 184

原创 Python重要数据类型

1.列表--list注意:不同于C,java等语言的数组,python的列表可以存放不同的,任意的数据类型对象。1.1序列操作索引求值l = [10,11,12,13,14]print(l[2]) # 12print(l[-1]) # 14切片操作l = [10,11,12,13,14]l[0:2:2]#1、取出的元素数量为:结束位置 - 开始位置;#2、取出元素不包含结束位置对应的索引,列表最后一个元素使用 list[len(slice)] 获取;#3、当缺省开始.

2021-10-10 20:17:30 202

原创 Python流程控制语句

目录1.if分支语句2.while循环(条件循环)3.for循环(遍历循环)4.退出循环--break、continue5.循环嵌套1.if分支语句'''if 表达式 1: 代码块 1elif 表达式 2: 代码块 2elif 表达式 3: 代码块 3...# 其它elif语句else: 代码块 n''' 2.while循环(条件循环)count = 0 # 初始化语句while count < 10: # 条.

2021-10-10 18:33:09 157

原创 python输入输出函数

目录1.输出函数--print2. 输入函数--input1.输出函数--printdef print(self, *args, sep=' ', end='\n', file=None): # known special case of print """ print(value, ..., sep=' ', end='\n', file=sys.stdout, flush=False) Prints the values to a stream, or

2021-10-10 17:47:00 375

原创 Python运算符

目录1.算数运算符2.赋值运算符3.比较运算符4.逻辑运算符1.算数运算符运算符 说明 实例 结果 + 加 1+1 2 - 减 1-1 0 * 乘 1*3 3 / 除法(和数学中的规则一样) 4/2 2 // 整除(只保留商的整数部分) 7 // 2 3 % 取余,即返回除法的余数 7 % 2 1 ** 幂运算/次方运算,即返

2021-10-10 17:17:45 136

原创 Python基础数据类型

1.整型和浮点型整型:Python中整数都是整型(int);整型数字之间进制转换;# 十六进制:以0x开头print(0x11)print(0x111)# 二进制print(0b101)print(0B101)# 八进制print(0o12)print(0o23)# 十进制转换为二进制print(bin(3))# 十进制转换为十六进制print(hex(19))# 十进制转换为八进制print(oct(10))浮点型:在python中小数都属于浮..

2021-10-10 17:03:12 152

原创 Python规范

标识符指的是:变量、函数、类、模块以及其他对象的名称;标识符的命名规则:标识符是由字符(A~Z 和 a~z)、下划线和数字组成,但第一个字符不能是数字。 标识符不能和 Python 中的保留字相同。有关保留字,后续章节会详细介绍。 Python中的标识符中,不能包含空格、@、% 以及 $ 等特殊字符。 在 Python 中,标识符中的字母是严格区分大小写 Python 语言中,以下划线开头的标识符有特殊含义 Python 允许使用汉字作为标识符(不推荐) 除此之外,根据不同的应用场景,也有

2021-10-10 15:20:10 364

原创 Pycharm快捷键

选项 描述 Ctrl+Alt+Space 快速导入任意的类和函数 Ctrl+Shift+Enter 语句完成,自动补全句尾的引号、括号等 Ctrl+/ 注释代码,如果已经注释则取消注释 Alt +Enter 快速修正问题,如有多种,需要手动选择 Ctrl+D 复制选中的行...

2021-09-30 10:09:02 233

原创 Git常用命令

一、获取Git仓库方法一:在现有项目或目录下导入所有文件到GItgit init该命令降创建一个名为.git的子目录,这个目录含有初始化的Git仓库中所有的必需文件,这些文件是Git仓库的骨干。注意,这个时候,仅仅是做了初始化操作,项目中的文件还没有被跟踪。方法二:从一个服务器克隆一个现有的GIt仓库如果想要获得一份已经存在了的Git仓库的复制品,需要使用git clone命令。Git克隆的是GIt仓库服务器上的几乎所有数据,而不是仅仅复制完成工作所需要的文件。当执行git clone命令的时候,默认

2021-06-27 21:04:42 71

原创 pytest运行测试

-s:用于关闭捕捉,从而输出打印信息-v:用于增加测试用例冗长-q:减少测试的运行冗长,也可以用--quiet代替-k:运行名称中包含某字符串的测试用例 例如:pytest -k add test_assert.py 运行test_assert.py文件中,测试用例名称中包含add的用例-x:如果出现一条测试用例失败,则退出测试运行测试目录:pytest ./test_dir运行指定特定类或方法执行:pytest test_fixture_02.py::TestMultiply::te...

2021-05-10 23:34:10 90

原创 pytest参数化

import pytestimport math#pytest参数化@pytest.mark.parametrize( "base,exponent,expected", [(2,2,4), (2,3,8), (1,9,1), (0,9,0)], ids=["case1","case2","case3","case4"])def test_pow(base,exponent,expected): assert math.pow(b.

2021-05-10 23:24:29 85

原创 Fixture_pytest

Fixture通常用来对测试方法,测试函数,测试类,和整个测试文件进行初始化或还原测试环境。setup_module/teardown_module:在当前文件中,在所有测试用例执行之前与之后执行setup_class/teardown_class:在当前测试类的开始与结束时执行setup_function/teardown_function:在每个测试函数之前和之后执行setup_method/teardown_method:在每个测试方法开始与结束时执行setup/teardown:在每个测试

2021-05-10 23:13:53 59

原创 pytest断言

pytest单元测试框架并没有提供专门的断言方法,而是直接使用Python的assert进行断言。import pytestdef add(a,b): return a+bdef prime(n): if n<=1: return False for i in range(2,n): if n % i == 0: return False return True#测试相等def test

2021-05-10 22:55:10 158

原创 selenium设置元素等待(python)

WebDriver提供了两种类型的元素等待:显式等待和隐式等待。显式等待:WebDriver等待某个条件成立则继续执行,否则在达到最大时长时抛出超时异常(TimeoutException)WebDriverWait类是WebDriver提供的等待方法。在设置的时间内,默认每隔一段时间检测一次当前页面元素是否存在,如果超时设置时间仍检测不到,则抛出异常;格式如下: WebDriverWait(driver,timeout,poll_frequency=0.5,ignored_exceptions=..

2021-05-10 22:50:17 62

原创 selenium控制浏览器(python)

一、控制浏览器1控制浏览器窗口的大小:set_window_size(480,800) #设置浏览器宽480 高800显示设置浏览器全屏模式:maximize_window()2.控制浏览器后退:back()控制浏览器前进:forward()3.模拟浏览器刷新:refresh()二、鼠标操作:在Webdriver中,与鼠标操作相关的方法都封装在ActionChains类中;perform():执行ActionChains类中存储的所有行为context_click()...

2021-05-08 00:56:38 279

原创 Python常见面试题

目录一、用递归实现字符串逆序二、打印九九乘法表三、冒泡排序一、用递归实现字符串逆序def func(one_str): if len(one_str)<=1: return one_str return one_str[-1]+func(one_str[:-1])print(func('qwer'))二、打印九九乘法表for i in range(1,10): for j in range(1,i+1): pr

2021-04-14 00:22:04 117

原创 Python 字符串常见操作

字符串定义:主要用来存储和表示文本;特点:由单引号,双引号,三个单引号或三个双引号组成;构成:字符串中的字符,可以包含数字,字母,中文字符,特殊字符,转义字符等;字符串的简单操作字符串连接:# +:实现字符串连接print('a' + 'b')# *:实现字符串多次连接print('a' * 3)字符串切片:#字符串切片:取第一个字符print('Python'[0])#字符串切片:取倒数第1个字符print('Python'[-1])#字符串切片:取第一个

2021-04-13 23:59:15 103

原创 Python小试题

一、给定一个非空正整数的数组,按照数组内数字重复出现次数,从高到低排序二、

2021-04-12 21:09:06 159

原创 测试工程师_面视题目总结20年4月

一、APP发版前测试覆盖安装,有哪些测试点?1.已登录用户覆盖安装后,依旧是登录状态;(保留了之前的cookie)2.保存在本地的数据依旧保留;(比如之前已作答未提交到数据库的数据依旧保留;预下载到本地的数据依旧保留)二、测试微信小程序有哪些注意事项?(区别于APP、Web)1.安卓微信小程序支持分享到朋友圈,IOS微信小程序不支持分享到朋友圈;2.小程序最多10层页面,之后会出现点击无法跳转;这是小程序的限制;3.分享出去后,游客的访问权限;三、微信小程序、APP、Web区别?1...

2021-03-29 20:31:49 89

原创 解决pip升级失败

解决pip升级失败:python -m pip install -U --froce-reinsbtall pip -i https://pypi.douban.com/simple

2021-03-21 16:16:29 158

原创 Django安装&项目创建

一、Django安装pip install django(注意:以上命令默认是从官方网站下载,但国内往往会造成下载超时;可以通过自定义下载源实现从国内资源下载:pip install -ihttps://pypi.douban.com/simpledjango )检验Django是否安装成功:django-admin二、创建API 项目创建切换到E盘:e:创建一个新的项目:django-admin startproject django_restful进入django_...

2020-11-01 17:25:52 89

原创 Python常见运算符

常见运算符:算术运算符; + - * / % // **赋值运算符; = += -= *= /= %= //= **= (先运算后赋值)比较(关系)运算符(返回布尔类型): == != 比较两个对象的值是否相等 <> < > 比较两个对象的值是否不相等 >= <= 比较两个对象的值的大小逻辑运算符;and or not 操.

2020-09-12 17:33:24 133

原创 Python中列表的进阶操作

列表的进阶操作:list.count(x):统计列表中x出现的次数,若不存在则返回0list.append(x):向列表尾部追加成员xlist.extend(l):向列表尾部追加另外一个列表llist.index(x):返回参数x在列表中的序号,若不存在则报错list.insert(index,object):向列表指定位置插入数据list.pop():默认删除列表尾部成员,并返回删除的成员list.remove(x):删除列表中指定成员(有多个则只删除第一个,若指定成员不存在则报错)li.

2020-09-11 16:52:41 162

空空如也

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

TA关注的人

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