-
__name__是Python中用于标识模块运行方式的内置变量:直接运行时值为'__main__',被导入时为模块名(如'mymodule');常用于if__name__=='__main__':保护主程序逻辑,避免导入时执行;不可手动修改,否则破坏运行时判断机制。
-
Python列表去重无绝对最佳方案,需据是否保序、元素是否可哈希、数据量及是否可修改原列表选择:保序且可哈希用dict.fromkeys();含不可哈希元素则手动遍历;不关心顺序用set();大数据量保序可用生成器+集合。
-
df.info()展示数据结构与内存占用,df.describe()统计数值分布;前者诊断类型与缺失,后者分析均值、分位数等,需注意类型过滤与性能开销。
-
Django模板引擎与Jinja2完全不兼容,render()仅支持Django原生语法;混用会导致TemplateSyntaxError或变量不渲染,需手动用Jinja2环境渲染并自行处理CSRF、静态文件等。
-
遇到UnicodeDecodeError说明文件是GBK编码,Python默认UTF-8读取导致报错;应优先试encoding='gbk'读取,再用pathlib批量转码为UTF-8,注意过滤文件类型、避免覆盖、处理路径和异常。
-
Python的and运算符并非总是返回True或False,而是采用“短路求值+原值返回”策略:当左操作数为假值时直接返回它,否则返回右操作数本身。
-
MLP处理结构化数据效果被低估,关键在于预处理(数值标准化、类别嵌入/独热、缺失值稳健填充)、合理结构(宽于深、禁用dropout、可选特征交叉)及训练细节(小学习率、早停、小batch、特征诊断)。
-
栈帧(Frame)是Python函数执行时的运行时上下文每次函数调用,Python解释器都会在调用栈上创建一个栈帧对象(frame),它封装了该次调用所需的所有信息:局部变量、参数、代码对象(co_code)、当前指令偏移(f_lasti)、上层帧引用(f_back)、全局/内置命名空间等。栈帧不是用户直接构造的,而是由解释器在CALL_FUNCTION等字节码指令执行时自动压入CPython的C栈(实际是堆上分配的结构体,但逻辑上构成调用栈)。函数调用本质是字节码驱动的栈帧切换
-
Django、Flask、FastAPI是适配不同场景的工具:Django适合需开箱即用功能的CMS/SaaS;Flask适合轻量HTTP接口;FastAPI适合异步高并发+强类型校验API。
-
pyautogui.click()偏移主因是系统缩放导致物理像素与逻辑坐标不匹配,需按缩放比例折算坐标;图像匹配脆弱,须同环境截图并调confidence;中文输入需借剪贴板;FAILSAFE和系统权限常致异常。
-
数组与字符串题核心是索引操作、双指针、哈希表和原地修改;链表题重在哨兵节点与快慢指针;二叉树聚焦递归遍历与回溯;DP需明确定义状态与转移方程;Python注意deque、join、tuple等细节。
-
mongodump可直接按库/集合备份,Python仅作调度上传胶水层;需用cron定时、绝对路径调用、显式重定向日志、校验返回码与文件大小,并实施本地7天+云盘30天清理及定期恢复验证。
-
argparse不支持多组互斥原生,需用add_mutually_exclusive_group()分别创建group1和group2;子命令共享父参数须用parents=[parent_parser]且父参数required=False;“unrecognizedarguments”因传入未声明参数,可用parse_known_args()定位;隐藏默认值需在help中手动描述而不依赖自动显示。
-
CI中pytest找不到测试文件或报错,主因是工作目录与Python路径不一致、缺少__init__.py、环境变量缺失、临时文件并发冲突及coverage路径配置错误。
-
根本原因是pre-commit.ci默认为每个hook启动全新Docker容器且不复用pip缓存,导致大包安装耗时30–90秒;需禁用autoupdate、显式配置cache路径、优化hook配置并合理使用stages。