自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 python实现Android实时投屏操控

本文向大家介绍如何使用python来实现Android设备的实时投屏控制。python中有一个scrcpy-client库,跟scrcpy的原理差不多。通过指令pip3 install scrcpy-client安装,安装好后我们可以直接使用自带的投屏控制界面,也可以自己制作符合需求的投屏控制界面。

2023-08-31 20:28:06 3587 9

原创 web自动化测试python+selenium+数据驱动

本文介绍了selenium中常用的一些方法,以及如何把这些方法封装为一个基本测试类。介绍了数据驱动ddt的工作原理,以及如何使用数据驱动ddt来达到测试数据和测试方法分离的目的。

2023-08-30 20:56:14 766 1

原创 2的n次方归并排序

一般的递归排序每次递归是按照当前列表长度的中间值来把当前列表分成两个列表,直到当前列表的长度为1时结束递归。现在我们将采用一种不同的分割方式来归并排序,第一轮排序使用前后2个的元素进行比较,第二轮排序使用前后4个元素进行比较,第三轮使用前后8个元素进行排序,以此类推直到比较的元素个数为列表长度的一半。

2023-08-29 21:36:19 184

原创 python列表递归排序

递归排序就是通过不断的从中间位置分割列表,递归一次就分割一次,一直分到分不动位置(只有一个元素或没有元素)。然后比较左右两个元素的大小,按大小顺序重新放到一个列表中;再比较两个有序列表中每一个元素的大小,按照大小顺序再放入一个新的列表中;一直比较有序列表直到第一个递归函数出栈,即可得到一个有序列表。

2023-08-28 21:46:36 383 1

原创 python魔方阵

使用python解决魔方阵问题,首先找出魔方阵的规律,再根据魔方阵的规律编写程序解决问题。n阶魔方阵中数字的排布规律:数字1一定位于第一行的中间列,从1开始向右上方递增1,如果超出了上边界则把超出的数字放到同一列的最后一行,如果超出了右边界则把超出的数字放到同一行的第一列,如果递增数字的位置已存在数字则向下方递增,而且需要向下方递增的数字总是n的整数倍。

2023-08-27 21:38:03 1623

原创 python马踏棋盘

此问题的本质就是:利用递归思维不断的去尝试下一个落子的位置,除了最后一个落子位置以外,其余的每个落子位置至少存在1个可移动位置,至多存在8个可移动位置。所以这是一个最大递归深度为64,但递归广度非常大的问题。所以必须采用深度优先来解决此问题,下面我们使用函数递归的方式找出马踏棋盘的路线,最后用tkinter制作UI界面来动态展示。

2023-08-26 23:05:46 205

原创 python杨辉三角

使用python打印杨辉三角,杨辉三角的规律有:第n行就会有n个数字;每行数字都交错排列使其看起来像三角形;第一行一个数字1;第二行两个数字1和1;从第三行开始,除了第一个和最后一个数字是1以外,其余的第x个数字都等于上一行第x-1个数字与第x个数字之和。

2023-08-25 22:08:35 419

原创 python卡布列克常数

使用python解决卡布列克运算,判断出任意一个4位正整数是否为卡布列克常数。对一个各位数字不全相同的4位数重复进行若干次卡布列克运算,最后得到的结果总是6174,这种数被称为卡布列克数。

2023-08-24 22:03:38 113

原创 python要发就发

使用python解决要发就发问题,首先分析出要发就发问题的本质为在小于等于1993的素数中是否存在两个素数之差等于1898。其次就是设计素数生成器和找出两个素数之差为1898的函数。

2023-08-23 22:49:01 122

原创 python约瑟夫环

使用python实现约瑟夫环算法,轻松解决各种约瑟夫环问题。这个问题的本质就是,30个人排成一排不断的报数,数到9的人会被扔到海里,被扔到海里的人不能再参与到后面的报数中;后面一个人继续从1开始数,数到9的人又会被扔到海里;如此重复直到扔掉15个人后结束。

2023-08-22 21:59:57 549

原创 python三色旗

使用python解决三色旗问题,不管几色旗都能轻松搞定。这个问题的本质就是说,在一个列表中随机分布着3种元素,元素的数量未知但有限,我们需要设计一个程序来交换这些元素的位置,使这个列表种的元素变成3部分,每部分中都是相同的元素。每次只能交换两个元素的位置,输出交换次数最少的操作步骤。在列表中交换两个元素的位置很简单,难的是操作步骤要最少。

2023-08-21 22:03:25 87

原创 uiautomator2自动化测试

本文详细介绍了uiautomator2框架中的所有方法及其使用方式,我们可以使用uiautomator2轻松完成Android手机自动化测试。使用指令pip install --pre uiautomator2安装uiautomator2,使用指令pip install --pre --upgrade weditor==0.6.4安装WEditor。uiautomator2中的方法可以分为设备类方法、UI类方法、基础类方法。

2023-08-19 21:51:43 625

原创 shell脚本自动化测试

本文将给大家介绍一些常用的adb指令、shell脚本的基本语句以及怎样编写用于Android手机自动化测试的shell脚本。shell脚本编写好后,我们如何在手机上执行shell脚本,怎样提前结束shell脚本。

2023-08-18 21:59:43 807 1

原创 python生成器

本文介绍了python中生成器的原理、实现方式及内部方法。生成器是迭代器的一种实现方式,主要依靠yield语句来返回值和传递值,可以使用next函数和send方法迭代生成器,可以使用close方法来提前结束迭代,可以使用throw方法在迭代过程中抛出错误来跳过某些迭代值。

2023-08-14 22:10:36 103

原创 python自定义一个日期类

本文介绍了如何在python种自定义一个日期类,如何在日期类种定义各种魔法方法,用于日期类的大小比较、天数加减和日期的迭代。以及如何在日期类中定义实例方法和类方法,用于日期间隔的计算、日期的格式化输出、得到当前日期是星期几。最后介绍了property在日期类中的应用,如果你对如何取定义一个类感到迷茫,这篇文章或许对你有所启发。

2023-08-12 19:17:44 1020 1

原创 python迭代器

本文介绍了python中迭代器的原理,__iter__和__next__各自在迭代器中的作用与工作原理。最后根据range函数的工作原理,自定义了一个迭代器来实现range函数生成数字序列的功能。

2023-08-11 21:26:54 120

原创 python魔法方法详解

本文详细介绍了python中的魔法方法,每一个魔法方法都用代码举例说明了它的使用方式,你可以直接复制粘贴到你的py文件中运行,以便于观察它们的使用方式。魔法方法主要分为构造类、描述类、运算类、描述符、容器类、迭代器、上下文管理、类型转换、序列化。

2023-08-08 22:36:38 1232

原创 python入门高阶

本文介绍了匿名函数lambda、map函数、filter函数、三目运算符、列表生成式、集合生成式、字典生成式的使用方式。

2023-08-03 20:12:33 79

原创 python实用技巧

本文介绍了python遍历文件、获取当前文件路径、复制文件、删除文件、读写文件、读写json文件,python使用datetime计算时间,python使用subprocess执行终端指令。

2023-08-03 19:24:15 263

原创 python面向对象-定义类(class)

本文详细介绍了类的定义、类的基本结构、类的实例化、类属性、实例属性、实例方法、类方法、静态方法、私有属性和方法、类的继承、类中的多态、super的使用方式、抽象类。

2023-07-30 18:36:22 5060 2

原创 python装饰器

本文详细介绍了装饰器的定义、写法、@操作符在装饰器中的作用、wraps装饰函数的作用、动态装饰函数的写法。装饰器就是用来给一个函数增加额外功能的函数。就像我们的毛坯房也可以住人,但住起来不是很舒服,我们需要额外的给它装饰一番,让它更适合我们居住。装饰器只是在被装饰函数的外部增加一些我们需要的功能,它不能改变函数内部的逻辑。

2023-07-22 20:38:35 50

原创 python定义函数

本文详细介绍了python中函数的定义以及无参函数、有参函数、传参方式、缺省参数、可变参数*args、关键参数**kwargs、return语句、函数注释、递归函数、回调函数、闭包函数、多态函数的使用方式。

2023-07-16 19:42:54 5007 2

原创 python异常捕获(try...except...finally)

本文详细介绍了在python代码中如何去捕获异常,try语句、except语句、else语句以及finally语句的使用。异常就是用来保证运算逻辑符合设计者设计理念(计算规则)的逻辑代码,当运算逻辑不符合计算规则时,则执行异常逻辑(抛出错误并终止程序)。

2023-07-09 16:51:24 1633 1

原创 python循环语句(for and while)

本文介绍了python中的循环语句,for循环和while循环的基本结构、continue的用法、break的用法、循环的嵌套、冒泡排序的原理。for循环语句通过不断使用next函数访问迭代器实现循环,当迭代器终止时循环结束。while循环通过条件的真假值来实现,条件为真时执行循环语句,条件为假时结束循环。

2023-07-05 21:57:56 478

原创 python运算符优先级

本文介绍了python中常用运算符的运算优先级,并通过举例论证了各种运算符的优先顺序以及同级运算符的优先顺序。

2023-07-05 21:49:34 6675

原创 python条件判断语句(if else)

本文详细介绍了python条件判断语句的判断依据、基本结构、嵌套结构、多条件结构,逻辑运算符在条件判断语句中的应用。

2023-06-24 22:18:57 7020 1

原创 python基本数据类型--空和布尔值(None and bool)

本文详细介绍了python中空的定义及使用场景,python中bool的定义及使用场景。None是python的基本数据类型之一,None表示什么都没有,什么都不是,所以None不可被迭代。None是不可改变的,在内存中拥有唯一的地址。bool是python的基本数据类型之一,是不可被迭代的数据类型,不可被修改。bool数据类型有两个值True和False,True表示真、False表示假。因此bool在python中被作为条件判断的依据。

2023-06-24 16:12:40 1010 1

原创 python基本数据类型--集合(set)

本文详细介绍了集合的定义方式、求并集、求交集、求差集、求对称差集、判断子集、计算运算符、成员运算符、身份运算符、冻结集合等内容。集合是用{}作为边界逗号作为分隔符,只能容纳不可变的数据类型,如:{},{1, 2, 'abc', (1, 2, 3)}等等,是可迭代的数据类型,可以被修改,集合中的元素排列方式是无序的。

2023-06-22 18:22:04 1704 1

原创 python基本数据类型--字典(dict)

本文详细介绍了字典的定义方式、访问元素的值、修改元素的值、新增元素、删除元素、清空字典、更新字典、字典的比较方式、身份运算、成员运算等。字典是用{}作为边界逗号作为分隔符,采用键:值一一对应的方式。其中键必须是不可变的数据类型(整型、浮点型、字符串、元组、冻结集合),值可以是任意的python对象,如:{},{1: 2, "a": 5}等等,是可迭代的数据类型,可以被修改。

2023-06-18 18:39:43 2946 1

原创 python基本数据类型--元组(tuple)

本文详细介绍了元组的定义方式、切片和索引、统计元素个数、查看元素索引、元组的大小比较、成员运算和身份运算等。元组就是用()作为边界逗号作为分隔符,可容纳所有python对象的数据类型,如:(),(1, 2, 'abc', [1, 2])等等,是可迭代的数据类型,不可以被修改。

2023-06-17 15:42:30 3574 1

原创 python基本数据类型--列表(list)

本文详细介绍了列表的定义,列表的索引切片、拼接方式、重复操作、删除元素、增加元素、统计元素个数、查看元素索引值、列表的排序、列表大小的比较方式、列表的成员区分、身份运算等。列表是用[]作为边界逗号作为分隔符,可容纳所有对象的数据类型,如:[],[1, "a", 5, 'cd']等等,是可迭代的数据类型,可以被修改。在一个列表中我们可以放入任何的python对象,包括列表本身。

2023-06-15 21:38:57 10541

原创 python基本数据类型--字符串(str)

字符串就是用单引号或双引号引起来的字符如:"a","1","*","abc",'12#@'等等,是可迭代对象,是不可变的数据类型 。本文详细介绍了字符串的索引、切片、3种格式化方式、常用转义字符、大小写转换、插入与替换、字符串转列表、字符串转元组、对齐与填充、统计字符个数、查找字符位置、检测字符类型、字符串比较方式、身份运算符等。

2023-06-07 21:48:43 15881 2

原创 python基本数据类型--浮点型(float)

就是数学中的小数如:1.1,-1.1,0.123,-0.456等等,属于不可迭代对象。浮点型是不可变的数据类型,在内存中每个浮点型数据只存在唯一的地址。浮点型数据也常被用于计算,所以我们需要知道浮点型可以使用的运算符。浮点型可以使用的运算符有:算数运算符、比较运算符、赋值运算符和身份运算符。

2023-05-30 21:02:33 20632 1

原创 python基本数据类型--整型(int)

整型就是数学当中的整数如:1,-1,0,10,-10等等,属于不可迭代对象。整型是不可变的数据类型,在内存中每个整型数据只存在唯一的地址。经常参与到各种的计算当中,所以我们需要知道与整型相关的运算符,主要有算数运算符、比较运算符、赋值运算符、位运算符、身份运算符。

2023-05-28 13:49:17 17132 2

原创 python基础之基本输入输出函数的使用

本篇文章主要讲解代码中为什么要使用变量,python中变量的命名规则。python中如何写注释,怎样注释python代码。输入输出函数的基本使用方法。

2023-05-21 20:34:45 870

原创 安装PyCharm

学习python第二步,安装PyCharm编辑器。PyCharm编辑器,可以让我们编写python代码变得轻松。它能在我们写完一段python代码后,自动检测代码是否符合python的语法要求。代码中语法错误的地方会自动标红报错,并给出原因和解决办法。代码中逻辑别扭的地方会标黄警告,并给出原因和解决办法。当然PyCharm还有其他更多的功能,这里就不一一叙说了。

2023-05-13 22:50:22 445 1

原创 安装python解释器

学习python的第一步,在我们的计算机上安装python解释器。我们编写的python代码,计算机中的cpu并不能直接识别出代码的意思。cpu只能看懂二进制的机械码,python解释器能把我们编写的python代码翻译为机械码,让cpu去执行。python解释器就类似于一支翻译笔,执行代码的时候需要用这支翻译笔去把代码一句一句的翻译出来,并且是翻译一句执行一句。就像小孩子用翻译笔看外语书一样。

2023-05-13 18:56:24 317

原创 PySide6在非UI线程更新UI界面实例

PySide6在非UI线程中更新UI界面,使用QThread或者使用threading+QThread,我们可以得到三种在其他线程中更新UI元素的方式。目前第三种方式最好,只需一个信号类可以同时实例化出多个信号,每个信号绑定一个方法,互不干扰的同时又能影响同一个元素。

2022-11-21 18:06:00 2048 2

空空如也

空空如也

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

TA关注的人

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