-
argparse适合简单脚本,click更适合产品化CLI工具;前者轻量标准但子命令难维护,后者功能丰富但学习成本略高,选择取决于使用者、使用频率及扩展需求。
-
asyncmy默认不支持MySQL8.0+的caching_sha2_password认证,需降级为mysql_native_password或升级至0.2.9+并启用ssl=True/auth_plugin='caching_sha2_password'。
-
字符串与字典互转需根据格式选择方法:1.字符串转字典可用ast.literal_eval()处理单引号Python语法,或json.loads()解析双引号JSON格式;2.字典转字符串可用str()生成单引号格式,或json.dumps()输出双引号JSON,支持indent等选项美化,注意键类型和安全性,避免使用eval()。
-
os.path.exists返回False的常见原因包括:相对路径受当前工作目录影响、符号链接目标不存在、不区分文件与目录;应优先用pathlib.Path.exists并注意父目录存在性、避免竞态条件。
-
Python中没有名为fun或_fun的内置函数或标准库函数,它们通常是用户自定义的占位符或私有方法;常见误判是将functools模块中的partial、lru_cache等函数误认为fun。
-
用正则表达式匹配XML或HTML标签适用于简单场景,但不适用于复杂结构。1.匹配开始标签可用<([a-zA-Z]+)(\s+[^>]*)?>;2.匹配闭合标签可用<\/([a-zA-Z]+)\s*>;3.匹配整个标签对及其内容可用<([a-zA-Z]+)(\s+[^>]*)?>(.*?)<\/\1\s*>;4.处理自闭合标签可用<([a-zA-Z]+)(\s+[^>]*)?\s*\/?>。注意:正则无法正确处理嵌套结构,推荐使用
-
str.format()是Python中强大的字符串格式化方法,支持位置参数、关键字参数和格式控制。1.可按顺序填充占位符,如"Hello,{}!".format("World");2.支持索引或名称指定参数,如"{0}和{1}".format("小明","小红")或"{name}{age}".format(name="小华",age=20);3.可格式化数字,如"{:.2f}".format(19.5)保留两位小数,"{:.1%}".format(0.875)显示百分比,"{:,}".format(10
-
文本生成需清洗标准化数据、分词映射ID并构建含特殊标记的词表;采用因果掩码的Transformer解码器架构;以自回归方式训练,用交叉熵损失并右移标签;推理支持贪婪/束搜索及采样策略。
-
不能直接缓存布尔型权限结果,因权限是动态的且依赖多表关联;应缓存用户ID到Group名列表及Permissioncodename列表的映射,键为"user_roles_{user.id}",JSON序列化并设3600秒过期,在post_save/m2m_changed信号中主动失效。
-
类属性属于类、被所有实例共享,实例属性属于对象、各实例独立;查找按“实例→类→父类”MRO顺序,同名时实例属性屏蔽类属性;可变类属性误用会导致意外共享。
-
corr()默认计算皮尔逊相关系数,仅反映线性关系且要求数据近似正态、无显著离群值;对等级型、偏态或含异常值数据,应改用spearman或kendall方法。
-
asyncio.run()不可重复调用,应全局单次启动事件循环并手动管理;asyncio.sleep()须在async函数内被await或作为task提交;并发需用Semaphore限流;信号处理需手动注册以确保优雅退出。
-
tee使迭代器变为内存敏感型,因共享缓冲区导致内存随最慢分支增长;list更安全可控,因其内存上限明确且行为透明。
-
定义函数用def,调用函数直接使用函数名加参数。函数可返回值、支持多种参数类型,作用域遵循LEGB规则,闭包能捕获外部变量,提升代码复用与灵活性。
-
Transformer的核心是解决RNN/CNN的长程依赖与并行计算瓶颈,通过Self-Attention(Q/K/V机制)、位置编码、残差连接与LayerNorm等设计实现高效建模。