python教程技术文章
-
Python存储数据方式按需求分三类:内存变量适合临时使用但程序退出即丢失;文件(文本/JSON/CSV)实现简单持久化;数据库(SQLite/MySQL/PostgreSQL)支持结构化查询与多用户共享,另有pickle、HDF5、Redis等专用方案。340 收藏 -
文章 · python教程 | 2个月前 | sqlalchemy · 异步编程 · fastapi · 生产实践 · Python教程 · Python 连接池 FastAPI sqlalchemy asyncio AsyncSession
从 FastAPI 生产接口连接池等待场景讲清 SQLAlchemy AsyncSession 并发使用、事务边界、连接池参数和上线检查。340 收藏 -
文章 · python教程 | 2个月前 | 异步编程 · 生产实践 · 后端工程 · Python教程 · Celery · 任务队列 · Python 故障排查 任务队列 异步任务 幂等 生产实践 Celery 5.4 retry_backoff acks_late
从 Python Celery 任务重复执行事故入手,实战讲解业务幂等键、acks_late、自动重试、指数退避、超时控制和上线观测。340 收藏 -
Python网络程序高可用需从连接、重试、超时、熔断、监控五层面系统设计:连接管理用Session复用与分段超时;重试仅针对临时错误并指数退避;超时独立设置,配合熔断降级;监控覆盖指标、日志、链路与告警自愈。339 收藏 -
安装brotli库即可解决:执行pipinstallbrotli,Requests会自动通过urllib3注册br解码器,无需改代码;若仍报错,需检查环境一致性、urllib3版本是否≥1.26或是否存在自定义适配器干扰解码流程。339 收藏 -
不推荐在Django中直接使用APScheduler,因其为单进程内存调度器,多worker下会重复执行、热重载时任务注册冲突、无持久化导致重启丢失、无法适配Django生命周期;推荐轻量用django-crontab(复用系统crond),动态管理则选django-celery-beat。339 收藏 -
Python 用 functools.lru_cache 缓存配置读取函数后,配置文件已经更新,接口却还返回旧值。问题通常不在文件读取,而在缓存键和清理时机。本文从一个可复现的小场景出发,说明 cache_clear、参数设计和并发刷新时需要核对的边界。339 收藏 -
MemoryError因程序内存超限导致,常见于大数据处理、低效数据结构、内存泄漏或第三方库临时占用;可通过分批处理、生成器、及时释放、高效数据类型及监控工具优化,核心是按需加载与及时释放。338 收藏 -
必须显式指定dim参数,因PyTorch1.12+已移除隐式默认行为;分类任务通常用dim=1或更鲁棒的dim=-1,避免batch维度误归一化及下游bug。337 收藏 -
operator.itemgetter比lambda更适合多字段排序,因其是C实现、性能更优,支持字典/序列的多键取值,返回可复用函数;但不支持属性访问、缺失键默认值或混合升降序,需配合lambda等补充。336 收藏 -
本文介绍使用Python正则表达式高效处理文本文件:逐行读取,自动提取所有连续数字(如"123"、"45")存入数字列表,并生成剔除所有数字后的纯净字符串,适用于日志清洗、数据预处理等场景。336 收藏 -
DataParallel导致GPU负载不均的根本原因是其主从式设计:cuda:0承担梯度汇总、loss计算、输出拼接和参数更新,而其他GPU仅执行局部前向/反向,造成cuda:0显存高20%~30%、利用率持续95%+,其余卡常低于40%。333 收藏 -
面向对象三大特性是继承、封装、多态:继承通过classDog(Animal)复用代码并扩展行为;封装用_和__约定保护成员,辅以getter/setter控制访问;多态通过同名方法不同实现实现解耦,无需类型判断。333 收藏 -
列表推导式立即分配内存,list()包裹生成器仍会耗尽内存;真正省内存的是直接迭代生成器;嵌套推导式中if位置影响语义;复杂逻辑应改用普通循环。333 收藏 -
callable返回True不保证对象能安全调用,仅检测__call__方法存在;可能因未初始化、参数错误等运行时异常失败,需结合类型检查、签名验证和守卫逻辑综合判断。332 收藏