python教程技术文章
-
文章 · python教程 | 3星期前 | 并发 · python · 故障排查 · asyncio · 任务取消 · Python asyncio.create_task Python 任务取消 asyncio CancelledError Python 异步任务收尾
Python 异步接口超时后,后台任务仍在访问数据库或写文件,常见原因不是 cancel() 失效,而是任务没有被保存、取消没有被等待,或协程吞掉了 CancelledError。本文用一个可复现的 asyncio 故障现场拆开这条链路,并给出带超时、回收和日志核对的改法。490 收藏 -
np.dot执行矩阵乘法而非点乘,二维时要求左矩阵列数等于右矩阵行数;逐元素相乘用multiply或*;叉乘仅适用于三维向量,用cross函数。490 收藏 -
classification_report需显式指定labels确保类别顺序与业务一致,配合confusion_matrix查混淆细节,按业务选average方式,结合预测概率调优阈值,而非依赖默认输出。490 收藏 -
Flask开发模式下内存只涨不降主因是debug=True触发模板自动重载,导致AST缓存和源码引用无法被GC回收;应禁用debug、关闭auto_reload、避免全局大对象,并用tracemalloc和objgraph定位泄漏源。490 收藏 -
groupby().mean()最直接但需注意分组键含NaN时默认被丢弃,应设dropna=False;非数值列被静默跳过,需检查数据类型与清洗;避免apply(lambdax:x.mean())低效写法,优先用原生聚合。490 收藏 -
GridSearchCV并非万能调参工具,其本质是穷举式搜索,参数组合多、训练慢或CV折数高时易卡死;应优先用RandomizedSearchCV初筛、精简param_grid、合理设cv,并通过cv_results_分析各组合表现,最终需用独立测试集验证线上鲁棒性。490 收藏 -
Python函数异常处理的核心是精准识别边界并预判失效点,在关键位置设防御性检查;需明确输入校验、分类型捕获异常、定义清晰的边界行为、显式管理资源,而非盲目try...except。490 收藏 -
Embedding层不能直接接原始类别ID,因其要求输入为从0开始的连续非负整数索引;若用pandascategory.codes需检查并处理-1(未见类别),推荐用StringLookup或IntegerLookup构建确定性映射表。490 收藏 -
requirements.txt是项目依赖的“契约文件”,需区分生产与开发依赖;推荐分层管理:base.txt为运行时依赖并锁定版本,dev.txt为开发工具,避免线上环境冗余安装。490 收藏 -
pynput鼠标轨迹偏移因屏幕坐标与高DPI/多显示器不匹配,需固定DPI为100%或改用pyautogui+pygetwindow获取窗口客户区坐标;键盘鼠标事件需单线程+时间戳排序保障时序;回放应模拟人手加速度、抖动和贝塞尔路径;PermissionError需以管理员权限运行或改用pywin32。490 收藏 -
sys.modules是import机制的缓存字典,非模块列表;键为模块名,值为已初始化模块对象,但存在不等于可用,可能残留半初始化或失效模块。490 收藏 -
本文介绍如何在PandasDataFrame中识别并仅保留连续重复块中首次出现的完整块(即“尾部重复组”被整体剔除,仅留其前所有行),适用于按业务逻辑需截断末尾冗余数据的场景。490 收藏 -
Python函数传参本质是传对象引用的副本,可变对象被原地修改会直接影响调用方数据;高危场景包括默认参数用可变对象、返回原引用、链式调用隐式修改;应使用None作默认值、显式复制、清晰命名并用id()调试。490 收藏 -
OCI签名必须用requests的auth参数,不可手动拼Authorization头;需严格校验指纹格式、私钥格式、四参数初始化、显式传body字节及动态生成Date头。490 收藏 -
Python3.8+中/表示其左侧参数仅能位置传参,*表示其右侧参数必须关键字传参;二者可共存形成三段式参数结构:位置专用、混合、关键字专用。490 收藏