- 博客(92)
- 资源 (2)
- 收藏
- 关注
原创 Python random模块实用教程
random各种分布的随机数生成随机序列操作随机种子设置Python 内置的random轻量级应用:当不需要复杂数值计算时快速原型开发:简单快速地实现随机功能学习目的:学习随机数生成和概率分布的基础知识避免依赖:当不希望引入外部依赖时对于简单的随机需求,random模块完全够用对于科学计算或大规模随机数生成,考虑使用 NumPy对于安全相关应用,使用secrets模块通过合理使用random模块,可以在不增加项目复杂度的前提下,实现大多数常见的随机功能需求。
2025-05-22 15:32:27
750
原创 Python string模块实用教程
string各种有用的字符串常量字符串格式化相关的工具虽然 Python 3 中字符串对象已经有和方法,但string模块也提供了这些函数。# 创建转换表# 删除特定字符开发者可以基于string模块的常量创建自定义的字符串处理函数。# 创建只包含字母和空格的字符串# 创建Base64字符集Python 的string避免硬编码常见的字符集合简化字符串验证和清理操作提供灵活的字符串模板功能支持高级字符串格式化需求通过合理使用string。
2025-05-22 15:17:27
456
原创 Python functools模块实用教程
函数缓存lru_cache部分函数应用partial函数组合与装饰reducewraps多态分发类工具编写更高效的函数式代码减少重复计算创建更灵活的API保持代码的整洁和可维护性实现更优雅的函数组合和装饰。
2025-05-20 13:27:20
386
原创 Python itertools模块实用教程
处理无限序列组合和排列数据高效地过滤和转换数据创建内存高效的管道处理大数据集通过组合这些基本构建块,开发者可以创建复杂的数据处理管道,同时保持代码的简洁和高效。
2025-05-20 13:20:27
991
原创 Python abc 模块抽象基类详细教程
abc定义严格的接口规范确保子类实现特定方法构建可扩展的框架和库实现设计模式中的模板方法模式框架开发插件系统API设计需要强制接口规范的情况记住,Python 以鸭子类型著称,很多时候简单的约定比严格的接口定义更Pythonic。只在确实需要强制规范时使用 ABC。
2025-05-18 15:50:37
1370
原创 Python dataclasses 数据类模块详细教程说明
减少样板代码提高代码可读性内置有用的功能(如比较、字符串表示)与类型提示完美配合灵活的定制选项配置对象数据传输对象记录结构任何主要目的是存储数据的类对于更复杂的需求,可以考虑attrs库(的灵感来源),它提供了更多功能。
2025-05-18 15:28:54
918
原创 Python enum模块全面实用教程
与常规类不同,此处的类变量RED、GREEN、BLUE同时还是Color的实例,isinstance(RED, Color) == TrueRED = 1GREEN = 2BLUE = 3IntEnumOK = 200StrEnumauto()枚举类型特点适用场景Enum基本枚举,不与原始值混用需要严格类型安全的场景IntEnum成员是int,可直接比较HTTP 状态码、错误码StrEnum成员是str,可直接比较日志级别、配置选项兼容旧版本StrEnum。
2025-05-17 15:35:28
910
原创 Python 性能优化工具实用指南
Cython 是一个将 Python 代码编译成 C 代码的工具,允许添加静态类型声明来获得 C 级别的性能。
2025-05-17 13:35:45
1314
原创 Python with语句与上下文管理器使用说明
语句是 Python 中用于资源管理的强大工具,它通过上下文管理器(Context Manager)实现了优雅的资源获取与释放机制。 语句用于包装代码块的执行,允许开发者在进入和退出代码块时执行特定的操作。最常见的用途是确保文件、锁等资源在使用后被正确释放。1.3 经典示例:文件操作二、上下文管理器的实现原理2.1 上下文管理器协议上下文管理器通过实现 和 两个特殊方法来定义:三、 模块的工具Python 标准库中的 模块提供了创建上下文管理器的便捷方式。使用生成器函数快速创建上下文管理
2025-05-17 13:35:21
707
原创 Python 中各种导包方式全面解析
Python 提供了多种导入模块和对象的方式,每种方式都有其适用场景和特点。下面详细全面地介绍了 Python 中的各种导入方式,从最常见的到最不常用的。
2025-05-16 13:12:33
702
原创 Python中判断系统平台的多种方法
在跨平台开发中,经常需要根据不同的操作系统执行不同的代码。Python提供了多种方法来判断当前运行的操作系统平台。
2025-05-16 13:12:15
780
原创 Python 类型系统 typing 模块详解
为 Python 添加静态类型提示支持提供丰富的类型注解工具(ListDictUnion等)支持泛型编程(TypeVarGeneric包含高级类型特性(LiteralTypedDictProtocol等)与 Python 3.10+ 的新语法(运算符)良好集成类型提示在运行时几乎没有性能影响,因为它们主要被静态类型检查器使用typing模块中的一些特殊形式(如Generic)可能会引入轻微的开销在性能关键代码中,考虑使用简单的类型提示或仅在开发时使用类型检查。
2025-05-15 18:57:28
2379
原创 Python 类型系统 types 模块详解
提供对解释器内部类型的访问支持动态类型创建和修改包含许多特殊类型对象如MethodType等提供等实用工具类常用于元编程和动态代码生成。
2025-05-15 18:49:10
553
原创 Python 类型注解详细指南
新类型from typing import NewType , TypedDict # 新类型 UserId = NewType('UserId' , int) def get_user_name(user_id : UserId) - > str : return f"user_ {
2025-04-30 13:14:14
3953
原创 Python asyncio 异步模块使用教程
异步编程是一种非阻塞的编程范式,允许程序在等待I/O操作(如网络请求、文件读写)完成时执行其他任务,而不是干等。
2025-04-30 12:27:51
1517
原创 Python multiprocessing多进程模块使用教程
进程是操作系统资源分配的基本单位,每个进程都有独立的内存空间、数据栈等。与线程不同,进程间的内存不共享。由于GIL(全局解释器锁)的存在,Python的多线程在CPU密集型任务上无法充分利用多核优势。multiprocessing模块通过创建子进程绕过GIL限制,实现真正的并行计算。2.2 带参数的进程2.3 继承Process类3. 进程间通信3.1 队列(Queue)3.2 管道(Pipe)3.3 共享内存3.3.1 Value和Array3.3.2 共享内存管理器4. 进
2025-04-29 10:19:21
1511
原创 Python threading多线程模块使用教程
线程是操作系统能够进行运算调度的最小单位,它被包含在进程之中,是进程中的实际运作单位。一个进程可以包含多个线程,这些线程共享进程的内存空间。t.start()竞态条件:多个线程同时访问共享资源导致的不一致解决方案:使用锁或其他同步机制死锁:多个线程互相等待对方释放锁解决方案:按固定顺序获取锁,使用超时机制活锁:线程不断重试某个操作但始终无法取得进展解决方案:引入随机退避时间线程饥饿:某些线程一直得不到执行机会解决方案:公平锁,合理设置线程优先级。
2025-04-29 10:06:03
1317
原创 Python collections.abc模块和typing模块中的同名类说明
这是 Python 3.5+ 引入的类型注解(Type Hints)系统的核心模块。它提供了类型注解所需的泛型(Generic Types)和工具(如。这是 Python 标准库中定义抽象基类(Abstract Base Classes, ABCs)的模块,例如。模块存在有很多同名的元素,但它们并不完全是同一个东西。这里涉及到 Python 类型系统的发展和设计理念。这些抽象基类用于实现接口检查和继承,是运行时实际存在的类。模块的目的是支持静态类型检查(通过工具如。模块会创建对应的泛型版本。
2025-04-28 14:53:21
854
原创 Python queue模块使用教程
Python的queue模块提供了线程安全的队列实现,主要用于多线程编程环境中安全地传递消息或数据。它是Python标准库的一部分,无需额外安装。线程安全:所有方法都是原子操作阻塞操作:支持阻塞式put/get超时控制:可以设置操作超时时间大小限制:可以限制队列容量# 自定义优先级逻辑priority = -item[0] # 反转优先级print(pq.get()[1]) # 输出: Low (因为优先级被反转)
2025-04-27 10:33:03
530
原创 Python copy模块实用教程
自定义类可以通过定义__copy__()和self.x = xself.y = yprint("执行浅拷贝")new_obj.nested = self.nested # 共享nested引用print("执行深拷贝")new_obj.nested = copy.deepcopy(self.nested, memo) # 创建nested的副本浅拷贝创建新对象但共享子对象引用,适用于简单对象或需要共享状态的情况深拷贝创建完全独立的对象副本,适用于复杂嵌套结构或需要隔离状态的情况。
2025-04-27 10:19:20
1423
原创 Python中dict()和{}的区别
特性{}字面量dict()构造函数语法简洁性高低(需函数调用)性能更快(直接字节码)稍慢(函数调用)动态键支持有限(需解包)更灵活(如底层实现路径直接BUILD_MAP通过构造函数调用汇编/字节码层面:两者最终生成相同的字典结构,但{}的路径更高效。
2025-04-26 12:46:04
724
原创 Python global和nonlocal关键字使用技巧
在理解和之前,必须先理解Python的变量作用域规则:Python使用LEGB规则从内到外查找变量:2. 关键字详解基本用法用于在函数内部声明一个变量来自全局作用域:没有声明的情况:不在函数内部更改全局变量:常见应用场景跨函数共享状态:配置管理:计数器/统计:陷阱与注意事项变量必须先存在:正确做法:与局部变量同名:多线程安全问题:3. 关键字详解基本用法用于在嵌套函数中声明一个变量来自外层(非全局)作用域:没有声明的情况:与闭包的
2025-04-26 12:45:43
840
原创 Python 描述符(Descriptor)使用教程
描述符是Python中一个强大的特性,它允许你自定义属性访问的行为。本质上,描述符是一个包含__get____set__或__delete__方法的类,这些方法定义了如何访问、修改或删除属性。
2025-04-25 09:32:21
1228
原创 Python timeit 模块实用教程
timeit自动禁用垃圾回收(GC)以获得更一致的结果可以多次运行代码以获得更可靠的统计数据既可用于命令行,也可在 Python 代码中使用# 测量函数执行时间print(t)# 如果函数需要参数print(t)
2025-04-25 09:32:02
961
原创 Python logging 模块实用教程
logging 是 Python 标准库中用于记录日志的模块,它提供了灵活的日志记录系统,可以满足从简单脚本到复杂应用程序的各种日志需求。
2025-04-24 12:30:29
860
1
原创 Python argparse 模块实用教程
继承option_string } 的值必须在1到100之间") setattr(namespace , self . dest , values) parser = argparse . ArgumentParser() parser . add_argument('--level' , type = int , action = RangeAction , default = 50) args = parser . parse_args() print(f"级别设置为: {
2025-04-24 12:30:08
1115
原创 Python中的虚拟子类机制
为True是因为list实现了__iter__,触发了虚拟子类机制,Sequence也是类似情况。不包含Iterable和Sequence,因为虚拟子类不修改显式继承关系。对ABC的检查是基于方法实现或注册关系,而非严格的继承关系。这种设计是Python鸭子类型的核心:只要“像鸭子”(实现所需方法),就会被视为鸭子(通过isinstance检查)。中的ABC本质上是为提供更语义化的类型检查,而非强制继承。这种设计使得Python的类型系统更灵活——类只需实现协议(方法),无需显式继承抽象基类。
2025-04-23 09:42:47
597
原创 Python collections模块实用教程
是 Python 标准库中一个强大的模块,提供了许多有用的容器数据类型,可以在某些情况下替代 Python 的内置容器(如。有序字典,记住键的插入顺序(Python 3.7+ 普通dict也保持顺序,但OrderedDict有额外功能)。模块提供了许多抽象基类,用于测试一个类是否提供了特定的接口。字符串对象的包装器,方便创建字符串子类。计数器,用于统计可哈希对象的出现次数。是最基础的迭代协议,表示可迭代对象。字典对象的包装器,方便创建字典子类。列表对象的包装器,方便创建列表子类。
2025-04-23 09:41:59
612
原创 Python functools模块使用教程
functools通过装饰器增强函数功能(缓存、排序、属性管理等)创建部分应用的函数和方法实现函数式编程模式(reduce、柯里化等)构建灵活的API(单分派泛型函数)保留函数元数据(wraps)@lru_cache@cachepartialreducewrapscmp_to_key。
2025-04-22 09:42:53
606
原创 Python函数参数中的斜杠(/)和星号(*)详解
符号作用示例左侧参数仅限位置右侧参数仅限关键字组合1和之间无其他参数组合2和之间还有其他参数c不受和影响,按位置或关键字传递均可。
2025-04-22 09:42:21
1398
原创 Python itertools模块使用教程
基于itertools"轮流从每个可迭代对象中取一个元素"try:print(list(roundrobin('ABC', 'D', 'EF'))) # 输出: ['A', 'D', 'E', 'B', 'F', 'C']itertools创建各种类型的迭代器(无限、有限、组合)构建复杂的数据处理管道高效处理大型数据集而不消耗过多内存实现各种算法模式(分组、分页、滑动窗口等)
2025-04-21 10:14:28
1012
原创 Python json模块使用指南
使用方式json.dumps(2+3j, cls=CustomEncoder) # 输出:{"__complex__": true, "real": 2.0, "imag": 3.0}return dct。
2025-04-20 18:43:39
703
原创 Python中`__main__`的使用技巧
严格隔离原则:模块级代码只包含定义,执行逻辑必须放在块或函数中函数封装:主逻辑应封装在main()函数中参数解析:使用argparse进行专业级的命令行处理包入口优化:为复杂项目使用测试友好:确保模块可以安全导入而不产生副作用性能优先:在main块内按需加载重型依赖类型提示:增强可维护性"""主函数文档字符串"""pass。
2025-04-20 18:26:08
747
原创 Python calendar模块使用指南
本指南讲解Python标准库中calendar模块的应用,涵盖日期计算、日历生成、周逻辑处理等核心功能。
2025-04-19 11:51:23
422
原创 Python time模块使用指南
本说明讲解Python标准库time模块,结合UNIX时间戳、struct_time操作、高精度计时等关键概念,提供time模块的相关开发技巧。
2025-04-19 11:23:17
1192
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅