python教程技术文章
-
文章 · python教程 | 2个月前 | 工程化 · 自动化测试 · pytest · CI · 生产实践 · Python教程 · Python CI pytest fixture tmp_path monkeypatch pytest-xdist 测试稳定性
从 Python 项目 CI 偶发失败入手,讲清 pytest fixture 共享状态、tmp_path 文件隔离、monkeypatch 自动回滚和 xdist 并发验证的实战治理方法。303 收藏 -
ModelForm.save()默认不保存ManyToManyField,因为需先调用instance.save()再显式调用save_m2m();仅当form.is_valid()为True且未使用commit=False时才自动触发,否则须手动处理。302 收藏 -
pos_weight通过放大正样本损失项缓解类别不平衡,其值应为训练集全局负样本数与正样本数之比,专用于类别维度加权,区别于按样本加权的weight参数。301 收藏 -
pytest不用BaseTestCase基类,因其依赖fixture而非继承机制;用fixture可精准控制作用域、支持依赖注入和参数化,而BaseTestCase会破坏fixture模型、导致mock和参数化失效。299 收藏 -
特征工程是目标驱动、业务扎根、隔离严谨、可复现的系统性改造。需明确建模目标反向设计特征,区分缺失与异常的业务含义,合理编码高基数与非结构化字段,并严格时间隔离防止信息泄露。299 收藏 -
本文用 Python Pillow 实现图片批量压缩:从输入目录读取图片,按最大宽度等比缩放,输出 WebP,并生成压缩清单方便检查体积和清晰度。299 收藏 -
Python 项目里同一条日志重复出现两三次,常见原因是重复 addHandler 或子 logger 向根 logger 继续上抛。本文从复现现象开始,逐步检查 Handler 数量、logger 层级和 propagate 配置,整理一套稳定的日志初始化写法。299 收藏 -
groupby().head()返回空或结果错误,因它按原始行序取每组前N行而非按指标排序;需先sort_values再groupby().head(),或改用apply(nlargest)并注意NaN、索引、并列处理。298 收藏 -
Python中可哈希对象需满足“相等对象哈希值相同”且哈希值生命周期内不可变;内置不可变类型(如int、str、tuple)默认可哈希,可变类型(如list、dict)默认不可哈希;自定义类需同时实现__hash__和__eq__方法,并确保参与哈希的属性逻辑不可变。298 收藏 -
应使用pandas.read_csv的na_values和keep_default_na在读取阶段识别自定义缺失标识;设keep_default_na=False避免误判,配合dtype预声明列类型、fillna的limit/method控制填充边界、dask替代处理超大文件、SimpleImputer实现跨chunk一致填充,并通过业务逻辑校验区分真实缺失与有效标记。298 收藏 -
最可靠方式是检查响应HTML中是否存在仅登录后才有的特定DOM元素,如<divclass="profile-header">,而非依赖HTTP状态码;若用requests+BeautifulSoup未找到该元素,则登录态已失效。295 收藏 -
duplicated()默认只标记后续重复行为True,首行为False;用keep=False可标记全部重复行,配合subset可指定列判断重复,需注意NaN、字符串格式和时间精度等预处理。295 收藏 -
在DjangoCRM系统中,直接删除被估计单、服务报告或发票引用的库存项会导致外键关联断裂,引发页面加载失败;正确做法是通过on_delete参数配置外键行为(如SET_NULL),使历史记录保留完整性,同时逻辑上“下架”该库存项。在DjangoCRM系统中,直接删除被估计单、服务报告或发票引用的库存项会导致外键关联断裂,引发页面加载失败;正确做法是通过`on_delete`参数配置外键行为(如`SET_NULL`),使历史记录保留295 收藏 -
文章 · python教程 | 1星期前 | protocol · Python教程 · 运行时 · typing · 类型检查 · Python 静态类型 typing.Protocol runtime_checkable 结构化类型 isinstance
Python 的 Protocol 主要服务于静态类型检查,runtime_checkable 只把接口成员是否存在带到 isinstance;它不会验证参数、返回值或属性类型。本文用可运行示例拆开两条边界,并给出适合生产代码的检查方式。295 收藏 -
sort()和rsort()按值排序并重置键;2.asort()和arsort()保持键值关联按值排序;3.ksort()和krsort()按键排序;4.usort()支持自定义排序逻辑。294 收藏