
Python
文章平均质量分 62
Looooking
Looking's WebPage Memo
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Python 之抽象方法 @abstractmethod 的理解
Python中的@abstractmethod装饰器用于定义抽象方法,通过abc模块实现,抽象基类(ABC)必须包含至少一个抽象方法且不能直接实例化。子类必须实现所有抽象方法才能被实例化,否则会报错。常用于定义接口规范、框架设计和类型检查,确保子类实现必要方法和接口一致性。示例展示了Animal抽象基类及其子类Dog和Cat的实现,未实现抽象方法的Bird类无法实例化。原创 2025-07-30 17:51:32 · 129 阅读 · 0 评论 -
Python 之地址编码识别
Python 之地址编码识别原创 2025-07-18 18:20:40 · 260 阅读 · 0 评论 -
Python 异步编程之 async 和 await
Python 异步编程之 async 和 await原创 2025-07-17 19:20:48 · 381 阅读 · 0 评论 -
Python 标准库之 Enum 枚举
Python 标准库之 Enum 枚举原创 2025-07-15 18:08:47 · 309 阅读 · 0 评论 -
Python 标准库之 textwrap
Python 标准库之 textwrap原创 2025-07-09 16:31:58 · 157 阅读 · 0 评论 -
Python 之图片添加时间戳水印
Python 之图片添加时间戳水印原创 2025-05-29 17:55:08 · 227 阅读 · 0 评论 -
Python 自动化测试之滑块验证码处理
RPA 机器人流程自动化测试时,登录环节经常会出现各种拦路虎,比如像下面的滑块验证码。那么,如何通过 Python 的工具自动破解这些滑动验证码呢?原创 2025-05-19 16:44:41 · 1427 阅读 · 0 评论 -
Python 之类型注解
类型注解允许开发者显式地声明变量、函数参数和返回值的类型。但是加不加注解对于程序的运行没任何影响(是非强制的),属于有了挺好,没有也行。但是大型项目按照规范添加注解的话,对于后期开发和维护是很有帮助的,毕竟不用回退好几层去推断有些变量的类型。原创 2025-05-16 17:10:59 · 393 阅读 · 0 评论 -
Python 之 selenium 打开浏览器指定端口进行接续操作
一般使用 selenium 进行数据爬取时,常用处理流程是让 selenium 从打开浏览器开始,完成全流程的所有操作。但是有时候,我们希望用户先自己打开浏览器进入指定网页,完成登录认证等一系列操作之后(比如用户、密码、短信验证码及各种难处理的图形验证码之类),再让 selenium 从登录后的页面进行接续操作爬取数据。那么如何才能将前后操作接续起来呢?原创 2025-05-14 11:02:02 · 486 阅读 · 0 评论 -
Python 之 XPath 元素定位
XPath (XML Path Language) 最初是为了在 XML 文档中进行导航而设计的语言,后来被广泛应用于 HTML 文档的解析。在Python中,我们主要通过 lxml 或者 selenium 库来使用 XPath 功能。原创 2025-05-08 19:11:20 · 1288 阅读 · 0 评论 -
Python 之 pyecharts 使用
要说绘制动态图表,echarts 肯定是有一席之地的,特别是像 flask 这种轻量级的 web 框架,在 html 中动态嵌入生成 echarts 无疑是很优的选择。pyecharts 简单来说就是以 python 的方式来生成对应的 echarts 图表。原创 2025-04-22 19:47:24 · 645 阅读 · 0 评论 -
Python 之 __file__ 变量导致打包 exe 后路径输出不一致的问题
Python 之 __file__ 变量导致打包 exe 后路径输出不一致的问题原创 2025-04-21 16:37:43 · 490 阅读 · 0 评论 -
Python 之 Faker 测试数据生成
Python 之 Faker 测试数据生成原创 2025-04-18 16:48:53 · 370 阅读 · 0 评论 -
Python 之 Pandas 常用操作
Python 之 Pandas 常用操作学习原创 2025-04-07 18:40:24 · 741 阅读 · 0 评论 -
Python 之 pywin32 常用窗口操作
pywin32 主要的作用是供 Python开发者快速调用 Windows API的一个模块库。原创 2025-02-06 17:44:35 · 1368 阅读 · 0 评论 -
Python 之 Excel 表格分组、拆分、合并和截图
Python 之 Excel 表格分组、拆分、截图原创 2025-01-23 15:37:03 · 852 阅读 · 0 评论 -
Python 之 RSA 加解密和数字签名
RSA 作为经典的非对称加密,由于其复杂性和极高的安全性,一般用于具有重要价值的密码信息等进行加密,还可以进行数字签名及认证。原创 2024-12-17 15:40:17 · 618 阅读 · 0 评论 -
Python 之 concurrent.futures 使用
之前多线程用 threading 的时候比较多,最近看看 concurrent.futures 实现多线程多进程的方法。原创 2024-12-13 12:14:27 · 741 阅读 · 0 评论 -
Python 中的魔法函数和魔法属性
Python 中的魔法函数,也被称为特殊方法或双下划线方法,是 Python 中一些特殊命名的函数,它们以双下划线开头和结尾。这些函数定义了对象在特定情况下的行为,例如创建、比较、运算、迭代等。魔法函数主要是为某些特殊需求而设计的。例如__str__() 和__repr__() 函数用于打印输出对象的信息,__add__() 函数用于定义两个对象相加的行为,__len__() 函数定义当被 len() 调用时的行为等。原创 2024-11-20 18:11:13 · 818 阅读 · 0 评论 -
Python 去除字符串中的emoji符号,及所有4字节utf8字符
Python 去除字符串中的emoji符号,及所有4字节utf8字符原创 2024-11-13 16:28:40 · 512 阅读 · 0 评论 -
Python 之大文本文件分块读取
Python 之大文本文件分块读取原创 2024-11-08 15:17:03 · 587 阅读 · 0 评论 -
RabbitMQ 安装(Windows版本)和使用
RabbitMQ 安装和 pika 使用原创 2024-10-28 23:01:53 · 712 阅读 · 0 评论 -
TimedRotatingFileHandler 修改 suffix 后 backupCount 设置失效无法自动删除文件
本文主要分析 Python 日志模块的 TimedRotatingFileHandler 在实际使用中 backupCount 设置未生效的问题。源码分析显示,文件删除依赖于后缀 suffix 的正则匹配,如果自定义了 suffix 格式,必须同步更新 extMatch 的正则表达式(保证正则表达式可以正常匹配到你新格式的日志文件)。原创 2024-09-12 17:17:12 · 664 阅读 · 0 评论 -
Python 之 func_timeout 设置函数最大超时时间
通过 func_set_timeout 对函数进行装饰来限定函数的最大超时时间,超时则报错 FunctionTimeOut,不超时则正常运行。原创 2024-07-24 16:38:32 · 787 阅读 · 0 评论 -
Python 之 try 无法使用全局变量的问题
当我们使用 try 语句时,如果在 try 中使用了全局变量,但又在 except 或 finally 中修改了这个全局变量,就会出现无法修改全局变量的情况。原创 2024-07-16 16:13:52 · 420 阅读 · 0 评论 -
Python 之微信指数小程序数据抓取
Python 之微信指数小程序数据抓取原创 2024-05-29 18:55:30 · 2277 阅读 · 0 评论 -
Python 之程序截图的几种方式(含chromedriver下载链接)
Python 使用程序截图常见的几种方式,这里简单归结了几种原创 2024-05-24 00:43:54 · 610 阅读 · 0 评论 -
Python 之数据库表读取和写入
Python 之数据库表读取和写入原创 2024-05-20 16:48:09 · 946 阅读 · 0 评论 -
Python 之 ini 配置文件读取和写入
Python 之 ini 配置文件读取和写入原创 2024-05-18 17:31:21 · 390 阅读 · 0 评论 -
GF(2)[x] 上的8次不可约多项式求解
GF(2)[x] 指系数为 0、1 的多项式。之前在学校有做过有限域 GF(2^8) 上的密码算法研究,而构成有限域 GF(2^8) 的其中一个必要条件就是选取一个 GF(2)[x] 上的8次不可约多项式(使得有限域上的加减乘除和求逆在 mod 这个不可约多项式后能正常运算。),下面是当时暴力求解的代码,于是记录一下。原创 2024-04-21 23:18:21 · 641 阅读 · 0 评论 -
Python 之 Fastapi 框架学习
Fastapi 据说有并肩Go的极高性能,我倒是想特别见识一下。原创 2024-04-03 10:43:50 · 1084 阅读 · 0 评论 -
Python 之 Flask 框架学习
flask 作为轻量级的 web 框架,早些时候使用过,最近再来回看一下,依赖安装相关的就不多说了,直接从例子开始。原创 2024-04-02 17:11:59 · 1507 阅读 · 0 评论 -
Minio 的 Python 使用
服务启动就不多说了,主要是下载这个minio文件:https://dl.min.io/server/minio/release/linux-amd64/minio,然后 chmod +x minio,再按照下边启动就可。服务的启动[root@master packages]# export MINIO_ACCESS_KEY=minio_access[root@master packages]# export MINIO_SECRET_KEY=minio_secret[root@master p原创 2020-12-18 11:52:38 · 4554 阅读 · 0 评论 -
ZMQ特点及消息模式
普通的socket是端对端的关系,ZMQ是N:M的关系,socket的连接需要显式地建立连接,销毁连接,选择协议(TCP/UDP)和错误处理,ZMQ屏蔽了这些细节,像是一个封装了的socket库,让网络编程变得更简单。"慢连接": 我们不知道订阅者是何时开始接受消息的,就算启动"订阅者",再启动"发布者", "订阅者"还是会缺失一部分的消息,因为建立连接是需要时间的,虽然时间很短,但不是零。有种简单的方法来同步"发布者" 和"订阅者", 通过sleep让发布者延迟发布消息,等连接建立完成后再进行发送。原创 2022-10-09 18:22:08 · 4336 阅读 · 0 评论 -
Python 的 pytest 测试框架
说到 pytest,大家总不免要拿来和 unittest 来比一下,但是 unittest 毕竟是标准库,兼容性方面肯定没得说,但要论简洁和方便的话,pytest 也是不落下风的。简单测试示例def func(x): return x + 1def test_answer(): assert func(3) == 5Testing started at 15:57 ...Launching pytest with arguments test.py::test_an原创 2022-01-28 15:44:17 · 1930 阅读 · 0 评论 -
Python 的迭代器和生成器
迭代器(Iterator)迭代器是用于进行迭代操作的对象,它可以像列表一样使用 for 迭代获取其中的每一个元素,任何实现了 __next__ 方法的对象都可以称为迭代器。迭代器与列表的区别在于,列表是一次性把所有的元素加载到内存,迭代器则是使用延迟计算的方式返回元素,只有在调用 next 方法的时候才去计算并返回该元素,也即 call by need 的方式,for 循环本质上也是不断调用迭代器的 next 方法来进行遍历。下面以斐波那契数列为例实现一个迭代器:class Fib:原创 2021-12-30 11:48:41 · 546 阅读 · 0 评论 -
Python 单元测试框架 unittest
虽然并不是专门做测试的,但是测试方面的知识涉猎一下还是没什么坏处的。具体细节的可以访问官网文档查看:unittest --- 单元测试框架 — Python 3.10.1 文档常用的断言方法: Method Checks that assertEqual(a,b) a==b assertNotEqual(a,b) a!=b assertTrue(x)...原创 2021-12-28 19:37:18 · 629 阅读 · 0 评论 -
Python 中 * 和 ** 的参数匹配和解包
这个知识点应该在很多地方能找到,我只是顺便把它记录在我的网页备忘录里边,如有打扰,十分抱歉。Python中的 * 和 **,能够让函数支持任意数量的参数,它们在函数定义和调用中,有着不同的目的。参数匹配* 的作用:在函数定义中,收集所有的位置参数到一个新的元组,并将这个元组赋值给变量 argsdef func(*args): print(args)func(1, 2, 3, 4)(1, 2, 3, 4)** 的作用:在函数定义中,收集关键字参数传递给一个字典,并将这原创 2021-12-27 20:32:59 · 608 阅读 · 0 评论 -
Python 的 random 和 secrets 模块
真正意义上的随机数(或者随机事件)在某次产生过程中是按照实验过程中表现的分布概率随机产生的,其结果是不可预测的,是不可见的。而计算机中的随机函数是按照一定算法模拟产生的,其结果是确定的,是可见的。我们可以这样认为这个可预见的结果其出现的概率是100%。所以用计算机随机函数所产生的“随机数”并不随机,是伪随机数。计算机的伪随机数是由随机种子根据一定的计算方法计算出来的数值。所以,只要计算方法一定,随机种子一定,那么产生的随机数就是固定的。只要用户或第三方不设置随机种子,那么在默认情况下随机种子来自系统原创 2021-12-22 16:12:14 · 2079 阅读 · 0 评论 -
Python 求列表的最长升序子列
这块用到了 bisect 的二分查找模块,用于查找新元素在有序列表里边的插入位置。虽然之前有接触过 git 里边的 git bisect(用于定位某个 bug 第一次引入的 commitId),但是 python 里边对bisect 的真正理解还是来源于下面这个例子:import bisectinput_list = [1, 2, 4, 3, 5]sequence = []for ele in input_list: pos = bisect.bisect_left(sequenc.原创 2021-12-06 16:51:11 · 571 阅读 · 0 评论