
python
文章平均质量分 68
追逐此刻
知其然 知其所以然
再坚持一下
在事上见
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
List\Tuple\Set 这些数据类型大写和不大写
小写形式:是 Python 内置的数据类型,用于创建实际的数据对象。大写形式:是typing模块中的类型提示工具,用于代码里的类型注解,帮助开发者和工具理解代码的类型约束。原创 2025-10-05 15:53:48 · 234 阅读 · 0 评论 -
集合、列表、元组、字典、布尔等类型的运算符
综上所述,不同数据类型支持不同的运算符,合理使用这些运算符可以方便地对数据进行各种操作。集合是无序且唯一的数据集合,支持多种运算符用于集合间的操作。元组是有序的不可变序列,其运算符与列表类似。字典是无序的键值对集合,主要使用成员运算符。列表是有序的可变序列,支持以下运算符。,直到找到不同元素或比较完所有元素。将列表重复指定次数得到一个新列表。将元组重复指定次数得到一个新元组。用于将两个列表拼接成一个新列表。将两个元组拼接成一个新元组。元组比较按元素顺序逐个比较。原创 2025-10-05 15:46:41 · 269 阅读 · 0 评论 -
Python 中的身份运算符
在 Python 中,身份运算符用于比较两个对象的内存地址,也就是判断两个对象是否为同一个对象,而不是比较它们的值是否相等。Python 提供了两个身份运算符,分别是is和is not。原创 2025-10-05 15:44:28 · 215 阅读 · 0 评论 -
Counter 数据类型
在 Python 中,Counter是模块提供的一个非常实用的数据类型,它继承自dict(字典)类,用于统计可哈希对象(如字符串、列表、元组等)中各个元素的出现次数。Counter可以看作是一种特殊的字典,键是元素,值是该元素的计数。原创 2025-10-05 14:29:43 · 274 阅读 · 0 评论 -
Mypy静态类型检查工具解析
渐进采用: 不要试图一夜之间为几十万行代码添加类型。从新代码开始,或者为关键模块逐步添加。使用严格模式: 在项目初期就开启--strict或尽可能严格的选项,这比后期修复成千上万个错误要容易得多。配置文件是必须的: 将 Mypy 配置提交到版本控制系统中,确保团队所有成员和 CI/CD 环境使用相同的检查标准。利用存根文件: 为你依赖的核心第三方库安装类型存根,以最大化类型检查的收益。类型也是一种文档: 良好的类型注解本身就是最好的文档,它们明确地规定了函数的输入和输出,使代码更易理解和维护。原创 2025-09-21 16:02:27 · 601 阅读 · 0 评论 -
Pydantic库应用
Pydantic 是 Python 生态中处理数据验证和序列化的核心工具之一,尤其在 API 开发(FastAPI)和配置管理领域不可或缺。使用 Python 类型注解清晰定义数据结构。内置丰富验证器,支持复杂自定义验证。智能地将输入数据转换为正确的 Python 类型。轻松转换为 JSON、字典等格式。与 FastAPI、配置管理、ORM 等无缝协作。提供详细的验证错误信息。使用时,请牢记性能影响、正确处理可选字段和默认值、妥善捕获、理解模型配置选项,并优先采用 Pydantic V2。原创 2025-09-23 23:33:58 · 866 阅读 · 0 评论 -
Python typing库的应用与优缺点
可以创建自己的泛型类,使其能够与不同类型一起工作。T = TypeVar('T') # 类型变量方面描述本质开发工具,用于静态类型检查和提高代码清晰度,非运行时强制。核心应用函数参数/返回值注解、变量类型声明、复杂数据结构(ListDict)、灵活类型(UnionOptional主要优点代码更清晰易读、IDE 支持强大(补全、查错)、提前发现错误、利于大型项目协作。主要缺点有学习成本、增加编写工作量、运行时无影响、描述极端动态代码时可能很复杂。建议:对于新项目,尤其是中大型项目,强烈推荐使用类型提示。原创 2025-09-23 23:34:30 · 1165 阅读 · 0 评论 -
ORM框架及SQLAlchemy
ORM(如 SQLAlchemy)是现代软件开发中不可或缺的工具,它极大地简化了数据库操作,提升了开发效率和代码安全性。并非简单的 ORM,而是一个完整的 SQL 工具集。在提供高级对象抽象的同时,没有牺牲对底层 SQL 的控制力。架构优雅,功能强大且灵活,是构建中大型、高性能 Python 项目的首选。对于初学者,建议从 ORM 层开始学习,了解基本的模型定义和 CRUD 操作。随着项目的复杂,再逐步探索其 Core 层和更高级的特性。原创 2025-09-18 22:48:10 · 1250 阅读 · 0 评论 -
reversed()方法
在 Python 中,reversed()是一个内置函数,用于返回一个反向迭代器对象。这个函数可以处理多种序列类型的数据,如列表、元组、字符串、范围对象等,通过它可以方便地实现序列元素的反向遍历。下面从基本语法、适用对象、使用示例等方面详细解释reversed()方法。原创 2025-09-17 23:40:47 · 427 阅读 · 0 评论 -
str.maketrans() 方法
是 Python 中字符串对象的一个静态方法,用于创建一个字符映射转换表。这个转换表本质上是一个字典,它定义了字符之间的替换规则,后续可以被方法使用,以实现字符串中字符的批量替换。方法用于根据方法创建的字符映射转换表,对字符串中的字符进行批量替换或删除操作。方法的作用是创建字符映射转换表,定义字符的替换和删除规则;而方法则根据这个转换表对字符串进行实际的替换和删除操作。通过这两个方法的配合使用,可以方便地实现字符串中字符的批量处理。原创 2025-09-17 23:40:58 · 663 阅读 · 0 评论 -
Python 十进制转二进制
在 Python 中,将十进制整数转换为二进制有多种方法。是 Python 内置函数,可以将十进制整数转换为二进制字符串。如果你需要手动实现十进制到二进制的转换,可以使用除 2 取余法。是一种简洁的字符串格式化方式,支持直接格式化二进制。函数可以将整数格式化为二进制字符串。根据需求选择合适的方法即可!原创 2025-08-23 22:39:02 · 1575 阅读 · 0 评论 -
math.isclose()
是 Python 中用于判断两个浮点数是否“足够接近”的函数(Python 3.5+)。它解决了传统浮点数比较因精度问题导致的误差,是替代a == b的安全方案。原创 2025-08-18 07:46:33 · 302 阅读 · 0 评论 -
如何使用匿名函数对列表中的字典排序
在 Python 中,可以使用sorted()函数配合lambda匿名函数对字典列表进行排序。原创 2025-08-16 12:08:41 · 322 阅读 · 0 评论 -
__base__属性
在Python中,__base__是一个特殊的属性,用于获取类的直接基类(父类)。它是类对象的一个属性,返回一个包含直接基类的元组。如果类没有显式地继承其他类,则其基类是object(因为所有类都默认继承自object它是类对象的内置属性,通常用在面向对象编程(OOP)的继承体系中。原创 2025-08-13 00:02:02 · 406 阅读 · 0 评论 -
使用正则中的sub实现获取我们匹配的字符串,然后追加指定字符
方法语法适用场景捕获组\g<0>re.sub(pattern, r'\g<0>追加内容', text)简单追加,无需复杂逻辑函数处理需动态处理、条件判断的场景根据需求选择合适方法,轻松实现匹配内容的字符追加。语法场景含义\g<0>替换操作引用整个匹配的字符串\g<0>递归模式(如PCRE)递归匹配整个表达式\g<name>命名捕获组引用引用名为name的分组根据你的使用场景(匹配、替换或递归),\g<0>可灵活对应不同功能。若有具体代码示例,可以进一步解析!原创 2025-08-13 00:02:14 · 449 阅读 · 0 评论 -
Python 标准库模块shutil
shutil(Shell Utilities)是 Python 标准库中用于高级文件操作的模块,提供了比os模块更便捷的文件/目录复制、移动、删除、归档等功能。下面详细介绍其核心功能、参数说明及示例代码。原创 2025-08-12 21:24:22 · 1004 阅读 · 0 评论 -
如何培养自己工程化的能力(python项目)
培养 Python 项目的工程化能力需要系统性训练,以下从。原创 2025-08-10 23:51:42 · 1320 阅读 · 0 评论 -
记忆化搜索@cache与自己创建一个字典进行存储有区别吗
特性@cachelru_cache自己用字典做记忆化使用难度简单,一行装饰器需要手动编写缓存逻辑代码简洁性高,函数本体更干净相对冗长,尤其是处理缓存逻辑时缓存管理自动,不可直接干预手动控制,可以更灵活参数类型支持只支持可哈希参数可通过转换支持更复杂的参数(如将 list 转 tuple)缓存查看/清除可通过和查看和清除需要自己实现线程安全是否(需自己加锁等处理)适用场景函数参数简单、可哈希,追求开发效率。原创 2025-08-09 21:19:28 · 762 阅读 · 0 评论 -
[链表]两两交换链表中的节点
注意,这里是交换链表的物理节点。而不是交换它的数值。如果链表的节点个数为奇数,则最后一个节点不需要处理。让我们在操作三四两个节点的时候,要将指针指向三的前一个节点。原创 2025-08-07 23:53:02 · 302 阅读 · 0 评论 -
Python 的标准库 bisect 模块
函数用途是否插入元素相同函数别名查找x应插入的最左位置否bisect查找x应插入的最右位置否bisect插入x到最左位置是insort插入x到最右位置是insort。原创 2025-08-03 22:16:02 · 568 阅读 · 0 评论 -
python的reduce方法
reduce是 Python 中一个强大的高阶函数,用于对序列中的元素进行累积操作。它通过将一个二元函数应用于序列中的元素,逐步将序列“缩减”为一个单一的值。尽管reduce在某些情况下非常有用,但在实际开发中应权衡其可读性与简洁性,选择最适合的表达方式。如果你对函数式编程感兴趣,reduce是一个值得掌握的工具。但同时,也要根据具体情况选择最合适的实现方式,以确保代码的可维护性和可读性。原创 2025-07-29 07:33:28 · 962 阅读 · 0 评论 -
Python 字符串前缀详解
前缀名称Python版本作用适用场景r原始字符串所有禁用转义文件路径、正则表达式fFf-string3.6+变量插值动态字符串生成b字节字符串所有创建bytes二进制数据处理uUnicode字符串2.x显式UnicodePython 2兼容rffr原始f-string3.6+原始+f-string正则+变量fbbf字节f-string3.6+字节+f-string动态字节字符串brrb原始字节字符串所有原始+字节二进制+原始字符串。原创 2025-07-21 07:38:31 · 1121 阅读 · 0 评论 -
结合python面向对象编程,阐述面向对象三大特征
特征Python 实现方式关键语法封装命名约定(_var__var)+property继承单继承/多继承 +super()多态鸭子类型 + 方法重写同名方法在不同类中实现不同行为。原创 2025-07-19 23:02:40 · 428 阅读 · 0 评论 -
使用Python进行文件拷贝的方法
shutil模块通常是文件拷贝的最佳选择,因为它提供了高级接口并处理了许多边缘情况。对于跨平台操作,注意处理路径分隔符问题(使用。原创 2025-07-19 23:01:36 · 356 阅读 · 0 评论 -
对称加密与非对称加密
混合加密:TLS 1.3的典型模式,兼顾安全与效率。密钥轮换:定期更新对称密钥,减少泄露风险。审计依赖库:避免使用已弃用算法(如DES、RC4),选择维护良好的库(如OpenSSL、Libsodium)。即时通讯:Signal协议(X3DH密钥交换 + AES-GCM)。区块链:比特币使用ECDSA签名,Zcash转向zk-SNARKs。物联网。原创 2025-07-16 06:29:12 · 493 阅读 · 0 评论 -
sort和sorted的区别
特性sort()sorted()适用对象仅列表任意可迭代对象返回值None(原地修改)新排序列表(原对象不变)灵活性低(仅列表)高(支持元组、字符串等)内存使用更节省(不创建新对象)需额外内存存储新列表。原创 2025-07-15 07:21:47 · 434 阅读 · 0 评论 -
Python crypto包功能介绍
通用加密或。密码哈希bcrypt或argon2。简单哈希hashlib。网络加密ssl或paramiko。根据需求选择合适的工具,并始终遵循最佳安全实践!原创 2025-07-14 13:03:58 · 2018 阅读 · 0 评论 -
AES ECB模式加密实现
:ECB 模式不推荐用于加密大量数据或需要高安全性的场景,因为它会导致相同的明文块生成相同的密文块,容易受到模式分析攻击。将输入的字符串数据转换为 UTF-8 编码的字节串,因为加密算法需要字节数据而非字符串。这两个函数共同实现了 AES-ECB 模式的基本加密解密流程,适用于简单的数据保护需求。将加密后的字节数据转换为 Base64 编码的字符串,便于传输和存储。:考虑使用更安全的模式如 CBC 或 GCM,并添加适当的认证机制。创建一个 AES 解密器实例,使用相同的密钥和模式。原创 2025-07-13 13:20:59 · 398 阅读 · 0 评论 -
NumPy数组高效合并原理
在NumPy中,原创 2025-07-13 13:16:01 · 295 阅读 · 0 评论 -
Python 中的 encode() 和 decode() 方法详解
encode()和decode()是 Python 中处理文本与二进制数据转换的核心方法。理解它们的用法对于网络编程、文件处理、数据存储等场景至关重要。记住始终使用一致的编码格式,并在可能的情况下优先选择 UTF-8 编码。原创 2025-07-12 18:39:11 · 903 阅读 · 0 评论 -
提供了 get() 方法的数据类型或对象
内置支持get()的dictCounter。第三方库中的类似字典对象:HTTP 响应头(requests)、Flask/Django 的请求参数等。共同特点:这些对象都模拟或扩展了字典的行为,提供键值对的访问方式。原创 2025-07-11 00:59:41 · 441 阅读 · 0 评论 -
cnt = i = 0赋值与cnt = 0,i = 0的区别
在 Python 中,和(或分开写cnt = 0和i = 0)在大多数情况下是,但它们的执行方式略有不同。原创 2025-07-10 00:26:42 · 398 阅读 · 0 评论 -
不可逆算法(md5实例)
MD5 等哈希算法的输入必须是 。如果需要更高安全性,请使用。原创 2025-07-09 07:57:53 · 1066 阅读 · 0 评论 -
TypeError: JSONPath.__init__() takes 2 positional arguments but 3 were given怎么处理
检查你使用的 jsonpath 库的版本和正确的用法。看起来你可能混淆了不同 jsonpath 库的用法。根据你实际使用的库选择正确的调用方式。看起来你可能混淆了函数式调用和类实例化调用。方法只接受 2 个位置参数,但你传入了 3 个。时传入了错误的参数数量。这个错误表明你在使用。原创 2025-07-09 07:27:36 · 283 阅读 · 0 评论 -
Python标准库 bisect 模块
bisect模块提供了对有序列表进行二分查找和插入的支持。它基于二分算法实现,可以高效地维护有序列表而不必每次插入后都调用排序操作。原创 2025-07-08 22:08:42 · 427 阅读 · 0 评论 -
Python字符与ASCII转换方法
在Python中,可以使用内置函数ord()和chr()原创 2025-07-03 23:39:43 · 350 阅读 · 0 评论 -
魔术方法__call__
_call__是一个特殊方法(也称为魔术方法),用于使一个类的实例能够像函数一样被调用。当定义了这个方法后,实例对象可以后接括号(即())来触发调用,这会让实例表现得像函数一样。原创 2025-07-03 23:38:47 · 1228 阅读 · 0 评论 -
Python中钩子函数的实现方式
在Python中,钩子函数(Hook)是一种允许你在程序执行的特定点插入自定义代码的技术。它本质上是一种回调机制,当特定事件发生时自动调用预先注册的函数。原创 2025-07-01 23:44:37 · 467 阅读 · 0 评论 -
if __name__ == ‘__main__‘:
是一个条件判断语句,用于确定当前模块是作为主程序运行,还是被其他模块导入。__name__原创 2025-06-30 23:20:41 · 546 阅读 · 0 评论 -
分割函数(Split Function)
分割函数通常用于将一个字符串按照指定的分隔符拆分成多个部分,并返回一个列表。在 Python 中,split()是字符串的内置方法,用于实现这一功能。原创 2025-06-16 00:06:36 · 657 阅读 · 0 评论