python教程技术文章
-
Python sqlite3.Row 能让查询结果同时支持下标和列名访问,但它不会替你完成类型转换或空值判断。本文用同一个订单查询示例核对 row_factory、带类型的列值和 NULL 字段,说明如何在读取层保留清晰的边界。399 收藏 -
Pydantic 部分更新不能用 None 判断字段是否缺失。本文用 model_fields_set 与 model_dump(exclude_unset=True) 保留显式 null、排除未提供字段,并梳理 Pydantic v2 的 model_dump、model_copy 与回归测试。399 收藏 -
文章 · python教程 | 1星期前 | TLS · python · 网络安全 · Python ssl.SSLContext TLS版本 minimum_version maximum_version
说明 Python ssl.SSLContext 如何通过 minimum_version 和 maximum_version 限制 TLS 协议范围,同时保留客户端证书与主机名校验,并区分协议不匹配、环境能力不足和证书失败。399 收藏 -
从 slots=True 改变实例属性空间讲起,结合基类与子类字段、默认值顺序、重复槽位、__dict__ 和 weakref_slot,给出一套可维护的 Python dataclass 继承设计方法。399 收藏 -
Python 3.14 为 heapq 增加了最大堆 API。本文说明如何用 _max 函数维护最大值优先队列、处理固定容量队列,并为旧版本封装兼容层。397 收藏 -
用 Python typing.TypeIs 编写类型谓词,理解真分支取交集、假分支排除目标类型的规则,并判断哪些列表场景仍应保留 TypeGuard。396 收藏 -
用原创 asyncio TaskGroup 示例说明 except* 分类处理、嵌套异常叶子统计和取消状态,区分实际异常汇总与让所有任务完成检查的不同需求。396 收藏 -
Python asyncio 处理同步阻塞函数时,可以用 asyncio.to_thread 把 I/O 工作放到线程执行;但取消等待任务不等于强制停止线程。本文比较 to_thread 与 run_in_executor,说明 contextvars、异常和协作式取消边界。395 收藏 -
讲清 Python tarfile 解压前如何检查成员路径,拒绝绝对路径、..、盘符路径和链接,并用 filter=data 与临时目录降低越界写入风险。394 收藏 -
说明 Python subprocess.run 默认不会因非零退出码自动抛异常,重点讲清 check=True、CalledProcessError、捕获标准错误,以及启动失败与命令失败的区别。394 收藏 -
Python shelve 删除键后文件不一定变小,因为底层 dbm 会保留空闲区供后续写入复用。本文说明怎样在独占维护窗口中调用 Shelf.reorganize() 回收空间,并处理后端能力、磁盘余量和旧版本边界。394 收藏 -
当函数参数来自字典或配置时,inspect.Signature.bind 可以在真正调用前完成参数绑定并把错误收敛为 TypeError。本文从一个小型回调分发器出发,演示 Signature.bind、BoundArguments 和 apply_defaults 的边界。393 收藏 -
用 Python contextvars 在 asyncio 请求链中传递 request_id,说明 Task 上下文继承、copy_context、Token.reset 以及 to_thread 的边界。393 收藏 -
Python 3.11 引入的 StrEnum 适合承载接口中的稳定字符串值。本文从 name 与 value 的区别出发,演示 json.dumps 序列化、枚举类调用反序列化,以及严格编码器和未知值场景下的处理边界。393 收藏 -
Python configparser 默认启用 BasicInterpolation,配置值中的单个百分号可能被当成插值语法。本文说明为什么要写成 %%、如何使用 %(name)s 引用配置、怎样用 raw=True 读取原文,以及什么时候应该关闭 interpolation。393 收藏