python教程技术文章
-
Python dataclass 不能直接把列表作为默认值。本文解释 default_factory 的创建时机、实例隔离、显式传参和自定义工厂写法,并整理可变字段的排查清单。261 收藏 -
Python logging 同一条日志打印两遍,通常不是 log() 调用了两次,而是子 logger 和 root logger 都挂了 Handler,记录又沿层级传播。本文给出定位清单和两种单一责任点的修复方式。144 收藏 -
使用 Python argparse 的 add_subparsers 和 add_parser 拆分 list、create 等子命令,再用 set_defaults 绑定处理函数,解决参数归属和命令派发问题。443 收藏 -
Python 相对路径默认以进程当前工作目录为起点,不是以脚本文件所在目录为起点。本文用 pathlib 区分 Path.cwd()、__file__ 和 resolve(),给出项目资源与用户输入的稳定路径写法及排查清单。126 收藏 -
文章 · python教程 | 2星期前 | 文件处理 · csv · Python教程 · 排错 · csv.Writer Python写CSV 多余空行 newline lineterminator
Python 使用 csv.writer 导出数据时,如果打开文件没有传 newline='',某些平台会把 CSV 自带的行结束符再次转换,表格软件看起来就像每条记录之间多了一行。本文从换行边界、lineterminator、字段内换行和排查方法说明如何稳定写出 CSV。361 收藏 -
Python asyncio 任务完成后对象仍存活,通常不是垃圾回收失效,而是协程帧、Task 结果、异常回溯或业务容器仍持有强引用。本文用最小复现和诊断代码定位引用链。335 收藏 -
小型 Python JSON API 选 Flask 还是 Django,不要只看轻量或全能。本文按数据层、后台能力、JSON 校验和部署约束给出可执行的选择规则。339 收藏 -
Python 3.15 的 webbrowser.MacOS 改用 /usr/bin/open。本文用 URL 解析和 HTTP(S) 白名单,说明如何在 macOS 自动化脚本中避开非 HTTP(S) 输入的文件注入边界。149 收藏 -
Python 3.15 在 POSIX 虚拟环境中调整 platlib 目录创建规则。本文用 sys.platlibdir、sysconfig 和 pyvenv.cfg 给出目录验收与旧 venv 迁移检查清单。171 收藏 -
用 packaging.SpecifierSet.is_unsatisfiable 在依赖解析前识别确定无解的版本范围,同时说明预发布版本、通配符和完整解析器之间的边界。112 收藏 -
packaging 26.2 与 pip 26.1 带来了新的 Python 锁文件实践。本文拆解 pylock.toml 能锁定的依赖信息、解释器和平台边界,以及旧 pip 的兼容回退方案。287 收藏 -
Python 3.15 的 PEP 798 让列表、集合、字典推导式和生成器支持 *、** 解包。本文用等价循环解释展开、去重、键覆盖、惰性求值和变量作用域边界,并给出兼容旧版本的落地写法。241 收藏 -
Python 3.15 新增 Tachyon 采样分析模块。本文按脚本、运行中进程、单次快照和历史 profile.bin 四种场景选择命令,再说明采样率、线程范围、pstats 与 flamegraph 的适用边界。415 收藏 -
Python 3.15 新增的 sentinel 内置能力,适合替代 object() 作为参数缺省值。本文从 repr、身份判断和类型收窄讲到 pickle,说明模块级定义与局部定义的边界。419 收藏 -
文章 · python教程 | 2星期前 | 数据结构 · 缓存 · python · Python教程 · lru_cache 缓存键 Python 3.15 frozendict 不可变映射 PEP 814
Python 3.15 新增内置 frozendict。本文用 lru_cache 示例说明可哈希条件、顺序无关比较、合并更新,以及浅拷贝不会冻结嵌套可变值的边界。422 收藏