-
正确姿势是使用@pytest.mark.skip(reason="说明")跳过测试,必须带reason参数;跳过类加在class上;条件跳过用skipif;xfail用于预期失败且不影响setup/teardown。
-
闭包是函数与其定义时所处作用域中自由变量的组合,关键在于保持对原始变量的引用而非复制值;它仅捕获Enclosing作用域变量,可通过__closure__和co_freevars验证。
-
ElementTree.parse()读取XML失败主因是输入源处理不当:误将字符串传给parse()(应使用fromstring())、文件路径不存在、编码非UTF-8(含BOM异常)、Windows中文路径编码转换失败,或未用pathlib.Path.resolve()转绝对路径。
-
Python连接字符串最常用方法是f-string(推荐)和join(),加号(+)适用于已知全为字符串的简单拼接,需注意类型一致;f-string简洁高效支持表达式,join()适合批量合并带分隔符的字符串。
-
id()函数返回的是对象在内存中的唯一标识符,本质上是该对象在CPython解释器中内存地址的整数表示。它不是“地址”本身,而是地址的整数映射CPython中,id()返回的是对象所在内存位置的地址(以十进制整数形式给出),但这个值仅在当前Python进程中有效,且不同运行、不同解释器(如PyPy)可能含义不同。它不保证是物理地址,也不可直接用于指针操作。例如:a=[1,2,3];print(id(a))输出类似140234567890123的大整数同一
-
Docker部署Python应用需构建含代码、依赖和环境的可移植镜像,核心是编写分层缓存、非root用户、固定依赖版本、环境变量管理配置、stdout日志及本地验证的Dockerfile。
-
抓包看不到请求体或参数被加密,是因为HTTPS未解密、工具未解析非标准格式请求,或前端使用混淆JS/WASM加密;需配置抓包工具解密HTTPS、在DevTools查RequestPayload、比对签名原文构造细节、定位加密逻辑并统一环境与编码规范。
-
shutil.disk_usage返回字节值,需转换为GB并处理异常;Windows用盘符、Linux用挂载点;注意Linux预留空间导致free不准,建议用os.statvfs获取df一致的可用空间。
-
ConfigParser默认大小写敏感,section和option名均区分大小写;需统一小写命名或校验合法section列表。
-
cProfile可快速定位慢函数,核心看tottime字段;用python-mcProfile启动或代码中嵌入Profile()控制启停,配合pstats排序分析,但无法检测I/O、C扩展及多线程耗时。
-
当多个类仅在预处理逻辑上存在差异,而核心行为高度一致时,可通过基类封装共用方法、子类按条件继承并扩展预处理逻辑,从而消除冗余代码,提升可维护性与可读性。
-
forkind只遍历键(等价于d.keys()),fork,vind.items()才遍历键值对;误用fork,vind会报ValueError;d.items()返回视图对象,修改字典时需转list避免RuntimeError。
-
Django模块化唯一合法单位是通过django-adminstartapp生成的App,必须注册到INSTALLED_APPS,且每个App需独立包含models.py、views.py等文件;跨App引用模型须用字符串(如'orders.Order'),外键to参数禁用类引用,related_name和app_name须带App前缀以防冲突。
-
aiohttp中Range头不生效主因是默认重定向导致头丢失,且CDN/代理常不透传;正确做法是禁用自动重定向、手动处理跳转并携带Range,验证206响应,并严格按Content-Range解析偏移写入文件。
-
GaussianNB适用于连续型数值特征(如身高、温度),MultinomialNB适用于非负整数计数特征(如词频、点击次数);核心依据是特征的物理含义与取值性质,而非分布形态。