![](https://img-blog.csdnimg.cn/b184a7009ac44b1ea304c180c340c9be.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
Python
Python
冰点契约丶
西安互联网付费就业,Java开发,软件测试开发线上线下辅导 欢迎有需要的朋友咨询。
展开
-
Python Typing模块
Python Typing模块原创 2024-04-10 13:53:53 · 263 阅读 · 0 评论 -
正则表达式
正则表达式原创 2023-11-30 10:34:17 · 1449 阅读 · 0 评论 -
Python虚拟环境
Python虚拟环境原创 2023-11-27 17:00:19 · 395 阅读 · 0 评论 -
单元测试框架-pytest
pytest原创 2023-09-12 17:40:26 · 477 阅读 · 0 评论 -
鼠标与键盘操作
鼠标与键盘操作import pyautogui# 鼠标当前坐标local_pos = pyautogui.position()# 屏幕分辨率local_size = pyautogui.size()# 是否在屏幕上on_screen = pyautogui.onScreen(1111, 111)# 鼠标移动 x , y ,time(s)pyautogui.moveTo(500, 100)pyautogui.moveTo(300, 700, 1)# 相对运动pyautogui原创 2022-03-30 17:45:28 · 295 阅读 · 0 评论 -
获取图像位置
图像识别import pyautoguiimport cv2# 截屏 返回img对象pyautogui.screenshot("screen.png")# region:匹配截屏(x,y,w,h)pyautogui.screenshot("screen2.png", region=(200, 100, 600, 600))# 获取截屏坐标 confidence:精确度:推荐0.9 安装OpenCV grayscale=True:开启灰度匹配(加快识别)pos = pyaut原创 2022-03-30 17:48:20 · 3283 阅读 · 0 评论 -
PyAutoGui内置弹窗
弹窗import pyautogui# 带有文本的简单警告弹窗 返回单击的按钮的文本pyautogui.alert(text="余额不足,请充值!", title="警告", button="确认")# 带有取消和确认按钮的弹窗 返回单击的按钮的文本。pyautogui.confirm(text="", title="警告", buttons=["确认", "取消"])# 显示带有文本输入和确定和取消按钮的消息框。返回输入的文本,如果单击取消,则返回无pyautogui.prompt(t原创 2022-03-30 17:49:51 · 912 阅读 · 2 评论 -
Python中的迭代器
迭代器迭代是访问集合元素的一种方式。迭代器是一个可以记住遍历的位置的对象。迭代器对象从集合的第一个元素开始访问,直到所有的元素被访问完结束。迭代器只能往前不会后退。直接作用于 for 循环的对象统称为可迭代对象: Iterable可以被next()函数调用并不断返回下一个值的对象称为迭代器:Iteratorfrom collections.abc import Iteratordef is_iterator(obj): res = isinstance(obj, Iterator)原创 2021-06-26 13:16:48 · 119 阅读 · 0 评论 -
Python中的字典与集合的底层实现原理
Python中字典与集合的实现原理首先通过__new__方法创建对象,__init__方法进行属性绑定后,将对象添加到一个集合中,会自动调用__hash__方法的到哈希值,哈希值相等是会调用__eq__方法,会返回一个结果,如果返回结果为False怎添加成功。class CanHash(object): def __new__(cls, *args, **kwargs): obj=object.__new__(cls) print(f"__new__方法创建了一个原创 2021-06-28 00:08:35 · 386 阅读 · 0 评论 -
垃圾回收机制--小整数池与短字符串池
小整数池系统默认创建好的,等着你使用整数在程序中的使用非常广泛,Python为了优化速度,使用了小整数对象池,避免为整数频繁申请和销毁内存空间。Python 对小整数的定义是 [-5, 256] ,这些整数对象是提前建立好的,不会被垃圾回收。在一个 Python 的程序中,无论这个整数处于LEGB(局部变量,闭包,全局,内建模块)中的哪个位置,所有位于这个范围内的整数使用的都是同一个对象。python中对大于256的整数,会重新分配对象空间地址保存对象短字符串池长度:0-256,且不能有空格每个原创 2021-06-27 14:40:38 · 90 阅读 · 0 评论 -
面向对象进阶
面向对象进阶1.动态为成员绑定属性class Person(object): def __init__(self, name, age): self.name = name self.age = ageif __name__ == '__main__': p = Person('zss', 18) p.address = '西安' print(p.address)西安2.动态绑定类属性lass Person(object):原创 2021-06-26 18:05:06 · 80 阅读 · 0 评论 -
高阶函数案例1
将一个函数作为参数传递给函数def fun1(number: int) -> int: if number == 1: return 1 else: return number * fun1(number - 1)def fun2(lst: list, fun: fun1) -> list: new_list = [] for number in lst: num = fun(number) ne原创 2021-06-26 13:49:02 · 75 阅读 · 0 评论 -
Python中的内置高阶函数
map函数需要传入一个可迭代对象与函数,会返回一个迭代器对象from collections.abc import Iteratorlst = [1, 2, 3, 4, 5]res = map(lambda x: x ** 2, lst)print("是迭代器对象:",isinstance(res, Iterator))print(next(res))print(next(res))print(next(res))print(next(res))是迭代器对象: True1491原创 2021-06-26 15:17:08 · 66 阅读 · 0 评论 -
Python高级--装饰器
装饰器装饰器本质上是一个Python函数,它可以让其他函数在不需要做任何代码变动的前提下增加额外功能,装饰器的返回值也是一个函数对象。它经常用于有以下场景,比如:插入日志、性能测试、事务处理、缓存、权限校验等场景。装饰器是解决这类问题的绝佳设计@在装饰器这里是作为Python语法里面的语法糖写法,用来做修饰魔术方法 name 这是属于 python 中的内置类属性,就是它会天生就存在与一个 python 程序中,代表对应程序名称,一般一段程序作为主线运行程序时其内置名称就是 main ,当自己作为原创 2021-06-26 16:37:03 · 139 阅读 · 0 评论 -
Python中的生成器
生成器:用来保存产生序列的算法,同时会保存游标的位置生成器的创建方式:1.g=(i for i in rang(10))与列表生成式类似,只需要讲[]变为()即可,会返回一个generator对象生成器元素的获取1.通过next函数:next(g)2.通过for循环3.通过object对象的内置方法__next__()4.通过send函数:不过第一个参数必须为None...原创 2021-06-26 12:44:30 · 63 阅读 · 0 评论 -
Python垃圾回收机制
Python采用的是引用计数机制为主,隔代回收机制为辅的策略在Python中,每个对象都有指向该对象的引用总数—引用计数查看对象的引用计数:sys.getrefcount() get reference count注意:当使用某个引用作为参数,传递给getrefcount()时,参数实际上创建了一个临时的引用。因此,getrefcount()所得到的结果,会比期望的多1。1、引用计数增加a、对象被创建b、另外变量也指向当前对象b、另外变量也指向当前对象c、作为容器对象的一个元素原创 2021-06-27 15:24:51 · 73 阅读 · 0 评论 -
PyMySQL的基本使用
PyMySQLconnect(...):创建一个连接对象connect.cursor:返回一个游标cursor.execute:执行一条sql语句cursor.close():关闭游标connect.close():关闭连接connect.commit():执行提交操作connect.rollback():回滚操作cursor.fetchone():返回一条结果cursor.fetchmany():返回多条结果cursor.fetchall():返回全部结果...原创 2021-06-25 23:55:02 · 147 阅读 · 0 评论 -
关于Python中类的实例化的一些细节
class Person(object): left_hand = '左手' right_hand = '右手' def __new__(cls, *args, **kwargs): print('__new__方法cls参数地址:', id(cls)) obj = super(Person, cls).__new__(cls) print('__new__方法创建了一个新对象:', id(obj)) return o原创 2021-06-23 10:56:19 · 122 阅读 · 0 评论 -
Python高级--偏函数
偏函数把一个函数的某些参数给固定住(也就是设置默认值),返回一个新的函数,调用这个新函数会更简单functools.partial 就是帮助我们创建一个偏函数的import functoolstest = functools.partial(int, base=2)print(test('10000'))16...原创 2021-06-26 17:14:01 · 54 阅读 · 0 评论 -
Python高级--闭包
闭包闭包条件:三个条件,缺一不可:1)必须有一个内嵌函数(函数里定义的函数)——这对应函数之间的嵌套2)内嵌函数必须引用一个定义在闭合范围内(外部函数里)的变量——内部函数引用外部变量3)外部函数必须返回内嵌函数——必须返回那个内部函数当一个函数在本地作用域找不到变量申明时会向外层函数寻找,这在函数闭包中很常见但是在本地作用域中使用的变量后,还想对此变量进行更改赋值就会报错def line_fun(k, b): def f(x): return k * x + b原创 2021-06-26 16:12:43 · 119 阅读 · 0 评论 -
Python高级--元类
类的创建1.通过class …2.通过typetype() 函数既可以返回一个对象的类型,又可以创建出新的类型type(name, bases, dict)name – 类的名称。bases – 基类的元组。dict – 字典,类内定义的命名空间变量Person = type('Person', (object,), {'name': '测试类属性'})p1 = Person()print(p1.name)测试类属性3.通过元类class RunMetaClass(type):原创 2021-06-27 14:29:34 · 116 阅读 · 0 评论 -
Python闭包中的陷阱
Python闭包中的陷阱**陷阱1**def outer(): local=10 def inner(): local+=10 return local return innerresu=outer()"""变量local是介于局部变量与全局变量之间的一种变量, 内层函数对其修改会报错,需要使用 nonlocal进行声明"""def outer(): local=10 def inner(): n原创 2021-03-10 22:00:40 · 184 阅读 · 0 评论 -
Python中with的作用
Python中with的作用with会自动调用__enter__方法和__exit__方法class Test(object): def __enter__(self): print("enter方法被调用了") def __exit__(self, exc_type, exc_val, exc_tb): print("exit方法被调用了")with Test(): passenter方法被调用了exit方法被调用了...原创 2021-06-24 20:30:59 · 595 阅读 · 0 评论 -
Python中的特殊方法
Python中的特殊属性与方法在Python中以__开头,以__结尾的属性称为特殊属性,方法称为特殊方法特殊属性__dict__:返回类对象或实例对象所绑定的所有属性和方法的字典__class__:返回对象所属的类型__bases__:返回父类的元组__base__:返回父类的基类__mro__:返回类的层次结构__subclasses__:返回子类特殊方法__add__:执行相加的操作__len__:返回对象的长度__new__:用于创建对象__init__:实现实例的属性赋值原创 2021-06-24 20:07:56 · 306 阅读 · 0 评论 -
Python中的多态
多态简单的说,多态就是具有多种形态,它指的是:即使不知道一个变量所引用的对象到底是什么类型,仍然可以通过这个变量调用方法,在运行过程中根据变量所引用的对象类型,动态决定调用那个对象中的方法动态语言的多态重上鸭子类型,当看到一只鸟走起来像鸭子,游泳起来像鸭子,收起来也像鸭子,那么这只鸟就可以成为鸭子。在鸭子类型中,不需要关心对象是什么类型,到底是不是鸭子,只关心对象的行为...原创 2021-06-24 19:52:21 · 56 阅读 · 0 评论 -
Python关键字个数可变的位置传参与个数可变的关键字传参
Python的三种可变参数单个星号表示这个位置接收任意多个非关键字参数,并将其转换为元组双星号代表这个位置接收任意多个关键字参数,并将其转换为字典*arg的功能:接收N个位置参数,转换为元组形式def add(*args): print(args)add(1, 2, 3)(1, 2, 3)**args的功能:接收N个关键字参数,并将其转换为字典格式def add2(**kwargs): print(kwargs) add2(k1=1,k2=2,k3=3){'原创 2021-06-24 14:31:28 · 376 阅读 · 0 评论 -
Pycharm中对象前显示的符号的意义
Pycharm中的C、m、f、p、F、V、紫色p、橙色p的意义C:代表class,表示该对象是类m:代表Method,表示该对象是方法f:代表field,表示该对象为类属性F:代表Function,表示该对象为函数V:代表variable,表示该对象为变量紫色p:代表Property,表示将一个方法转换为属性使用橙色p:代表参数**...原创 2021-06-24 13:04:43 · 1205 阅读 · 0 评论 -
Python中的各种装逼语法
Python中的各种装逼语法1.在定义函数时可以在函数参数后指定输入的类型def add(number1: int, number2: int): pass2.在定义函数时使用->指定函数返回的数据类型def reduce(number1, number2) -> int: pass3.使用…,为省略号,字面量为Nonedef show_info() -> str: ...4.为变量添加注释number: int = 123...原创 2021-06-23 18:07:08 · 159 阅读 · 0 评论 -
列表、字典、集合、元组
列表列表(list)是处理一组有序项目的数据结构在python中定义列表需要使用方括号如:lst=[]len(list):返回列表元素个数max(list):返回列表元素的最大值min(list):返回列表元素的最小值列表的方法append():在列表末尾添加新元素count():返回指定元素在列表中出现的次数extend():在列表末尾添加多个元素index():返回指定元素在列表中的索引insert():在列表的指定位置插入元素pop():移除列表中的指定元素,默认为最后一个原创 2021-06-21 20:41:27 · 264 阅读 · 0 评论 -
字符串的常用方法
字符串的常用方法count:返回字符出现次数find:查找指定字符isalnum:判断字符串是否由字母和数字组成isalpha:判断是否由字母组成isdight:判断是否只有数字isnumeric:检测字符串是否只有数字组成lower:转换所有大写为小写字母upper:转换所有小写为大写字母lstrip:截掉左边空格及指定字符rstrip:截掉右边空格及指定字符replace:将旧字符串进行替换...原创 2021-06-21 20:25:27 · 67 阅读 · 0 评论 -
python基础
Python基础print(*objects, sep=' ', end='\n', file=sys.stdout, flush=False)**参数说明:sep:多个参数间的分隔符,默认为空格file:输出的位置,默认为标准输出,可以修改指定到某个文件中end:以...结尾,默认\n(换行)input() 函数接受一个标准输入数据,返回为string类型参数为设置的提示语句数据类型整数:int浮点数:float字符串:str布尔值:bool字符串的格式化%[name][原创 2021-06-16 19:23:12 · 87 阅读 · 0 评论