-
递归函数正确需满足:边界条件完整且可达,每次递归必须缩小问题规模;否则将导致无限调用或逻辑错误。
-
解包分发的是可迭代对象的元素,依赖可迭代协议而非特定类型;解包一次性消耗整个可迭代对象,星号*在赋值左侧捕获剩余项、函数调用中展开参数、形参中收集多余参数。
-
asyncio任务取消本质是抛出CancelledError让协程主动退出;需捕获异常、释放资源、完成收尾;TaskGroup(Python3.11+)自动统一取消并等待清理。
-
Python3.3+允许生成器中return带值,等价于raiseStopIteration(value),易致管道中断;yieldfrom会耗尽子生成器;同步I/O阻塞流水线;推荐命名生成器函数而非表达式。
-
HTTP状态码是服务器对客户端请求的响应结果,用三位数字表示,如200、404、500,用于标识请求是否成功、失败原因或需进一步操作;按首位分为1xx(信息性)、2xx(成功)、3xx(重定向)、4xx(客户端错误)、5xx(服务端错误)五类。
-
__slots__仅限制动态添加实例属性,不阻止已有属性赋值、类属性、描述符、property或子类绕过;__setattr__是统一校验入口,需谨慎处理内置属性;不可变性需深拷贝或封装,而非依赖tuple/frozenset。
-
CatBoost通过有序目标编码动态处理类别特征,即用样本前序同类标签均值计算编码值以避免数据泄露;cat_features需传入整数索引而非列名,且类别列须无缺失、类型统一、基数合理。
-
Jinja2默认HTML转义是防XSS最有效的第一道防线,仅对{{...}}生效,覆盖<、>、"、'、&;失效场景包括误用|safe、Markup()、纯API中前端未防护及输入存储环节未过滤。
-
__iter__必须返回新迭代器而非self,因可迭代对象与迭代器职责分离:前者负责生成,后者管理状态;否则多次遍历失败,违反PEP234契约。
-
希尔排序通过递减增量序列对数组进行分组插入排序,初始gap为数组长度一半,逐步缩小至1。使用gap=n//2划分子序列,对每个子序列执行插入排序,最后gap=1时完成整体有序。算法时间复杂度最坏O(n²),但通常优于直接插入排序,空间复杂度O(1),属于不稳定原地排序。关键在于跳跃式比较与逐步细化的排序过程,提升整体效率。
-
配置Python需安装解释器、设环境变量、验安装,再装pip和虚拟环境;新手应选3.11/3.12版,Windows勾选AddPythontoPATH,macOS用Homebrew,Linux用apt/dnf更新;运行python--version和pip--version验证,失败则修复PATH;用python-mvenv创建虚拟环境,source或activate激活;可选装ipython、black等工具提升效率。
-
waitKey()用于控制图像显示时的键盘输入等待,参数为毫秒数:0表示无限等待,正数如1表示等待指定时间;常与cv2.imshow()配合使用,在图像或视频处理中通过返回值检测按键操作,如按'q'退出,需结合&0xFF确保跨平台兼容性。
-
Python字典基于哈希表实现,依赖键的不可变性保障哈希值稳定,通过开放寻址法处理冲突,装载因子超2/3时自动扩容;内存与性能优化需关注初始化方式、键存在性判断及遍历方法。
-
Python大规模并行运算核心是选对工具:I/O密集用asyncio或ThreadPoolExecutor;CPU密集用multiprocessing、joblib或numba;超大规模用dask或ray,并需规避GIL、序列化开销与资源争抢。
-
Qdrant支持对已有集合持续追加新向量和元数据,无需删除重建;关键在于避免使用recreate_collection,改用create_collection(仅首次调用),并确保每次插入记录时使用全局唯一ID。