python教程技术文章
-
Pydanticv2中用Field(exclude=True)或model_dump(exclude={...})控制序列化字段;DRF用SerializerMethodField动态脱敏;FastAPI用response_model_exclude快速过滤;ORM的defer/only不可用于安全脱敏,必须在序列化层处理。193 收藏 -
re.Match.groupdict()只返回显式命名的捕获组((?P<name>...)),未命名分组(如(...))完全不录入字典,故查不到也不报错;groupdict()不含group(0)和未命名组,判断存在性应直接用match.group(n)并捕获IndexError。369 收藏 -
PydanticV2的model_validate比V1的parse_obj快1.5–2.8倍,实测10万条5层嵌套数据耗时1.32svs3.47s,主因是改用typing.Annotated和编译式验证逻辑。457 收藏 -
根本原因是GUI主线程阻塞或Text组件未主动重绘;需在write()中调用text.see(tk.END)和text.update_idletasks(),耗时任务须用after()或线程,子线程日志必须经queue.Queue中转至主线程处理。287 收藏 -
Python时间序列预测核心是五步流程:数据准备→特征工程→模型选择→训练验证→预测部署;关键在理解数据特性、处理时间依赖性、避免未来信息泄露。374 收藏 -
asyncio.gather()默认不支持部分任务超时而其余继续,需用with_timeout等包装函数捕获TimeoutError并返回默认值,避免异常冒泡中断其他任务。406 收藏 -
os.environ返回的是os._Environ实例,继承自MutableMapping,非dict或MappingProxyType;支持字典操作但底层为C封装,读写实时同步至C运行时。459 收藏 -
f-string是Python3.6+引入的字符串格式化方法,通过在字符串前加f并用{}嵌入表达式,实现简洁、高效、高可读性的字符串拼接;它支持变量插入、表达式求值、函数调用和丰富格式化控制,相比%和.format()更具优势;使用时需注意避免复杂逻辑嵌入、引号冲突及多行字符串缩进问题,合理利用可提升开发效率与代码可维护性。249 收藏 -
最省事的是pickle,但仅限同版本Python可信环境;跨语言或配置用json(需处理特有类型);大体积数据选msgpack;复杂函数用cloudpickle。441 收藏 -
本文介绍如何将源字典(dict1)中所有非None的键值对,有选择地覆盖目标字典(dict2)中对应键的值,同时保留dict2中原有非None值及结构,不新增键、不删除键、不覆盖None为None。404 收藏 -
Flask中不能用全局变量存查询结果,因其被所有请求共享导致线程不安全和上下文混淆;g对象为单请求生命周期设计,可安全缓存如用户实例等临时数据。329 收藏 -
进阶Python需掌握解释器执行模型、LEGB作用域、对象生命周期及__dunder__方法;函数式与OOP结合用partial、decorator、@property等;并发分threading、multiprocessing、asyncio三层;元编程重在inspect、typing、__new__等实用边界。290 收藏 -
os.chmod()改不了权限的主因是传入十进制数而非八进制字面量(如误用644而非0o644),或用户无权修改、路径为符号链接、父目录不可写。301 收藏 -
pynput是Windows/macOS/Linux上最稳定跨平台的全局按键监听方案,通过原生API实现无焦点依赖监听,需注意macOS辅助功能授权、LinuxWayland限制及组合键状态管理。193 收藏 -
arange右边界不包含导致常少一个数,因浮点误差易出错;linspace通过指定数量避免此问题,更适合需精确控制点数的场景。133 收藏