-
asyncio.shield在需保障不可中断清理逻辑(如事务提交、文件关闭、关键日志写入)且外部可能随时取消协程树时必须使用;它仅保护等待过程不响应父级取消,不保护启动过程,须先create_task再shield,并显式await或cancel任务以防资源泄漏。429 收藏 -
只需将fromdistutils.coreimportsetup替换为fromsetuptoolsimportsetup即可兼容大部分项目,但需注意废弃参数、继承类变更、NumPy移除numpy.distutils等问题,并推荐迁移到pyproject.toml。429 收藏 -
优先使用pipinstall--user安装到用户目录绕过权限问题;必须全局安装时再提权,或用虚拟环境隔离;conda不支持--user,需配置用户包目录或重装到非系统盘。429 收藏 -
Flask中os.getenv()读不到环境变量主因是环境未生效:.env修改后需重启服务,IDE运行需手动配置环境;生产禁用.env,应系统级设置;密钥须动态注入,推荐config.from_mapping()结合os.getenv(),并严格区分多环境密钥。429 收藏 -
PythonREPL是自带交互式解释器,支持快速测试、调试与探索;推荐用python3-i或IPython(含语法高亮、补全);Tab补全、help()查文档、_获取上值、%run执行脚本、%history查历史等提升效率。429 收藏 -
axis=0插入行,axis=1插入列;axis指被操作的维度,与插入位置无关,只决定新增数据方向。429 收藏 -
Flask-Mail初始化失败主因是未在应用上下文中调用send(),需确保绑定app且发信时处于app_context;SMTP配置需匹配端口与加密方式;异步发信应使用flask-executor或Celery并手动管理上下文。429 收藏 -
pack_forget()并未销毁组件,仅临时移除布局;组件对象、事件绑定和属性均保持有效,与destroy()的不可逆性有本质区别。429 收藏 -
vars()本质是obj.__dict__的安全封装,仅对拥有__dict__的对象有效;无__dict__时(如__slots__类、内置类型)会抛TypeError,此时应改用hasattr检查或dir()+getattr组合获取属性。429 收藏 -
覆盖率高不等于质量高:行覆盖仅表明代码被执行,未验证逻辑分支;分支覆盖需显式启用,对权限校验等关键逻辑更可靠;mock易致假覆盖;设阈值须结合风险、排除生成代码与胶水层。428 收藏 -
抽象类是定义统一接口和强制子类实现逻辑的契约工具,需继承abc.ABC并用@abstractmethod标记必须重写的方法;含抽象方法则不可实例化,但可封装共用逻辑与类属性;子类须实现全部抽象方法,否则仍为抽象类;Protocol适用于轻量、松耦合的接口约定。428 收藏 -
plt.scatter画散点图时需将DataFrame列转为数组(如.values),c/s参数不接受Series;三维图须用ax.scatter(projection='3d');颜色尺寸映射需归一化或编码,NaN需预过滤。428 收藏 -
sheet_name=None是读取Excel所有sheet的唯一正确方法,返回以表名为key、DataFrame为value的字典,不包含隐藏表,且需注意表名自动修正和内存占用问题。428 收藏 -
JSONDecoder默认不支持NaN和Infinity,因JSON标准禁止这些值;可通过object_hook或parse_float(需strict=False)实现兼容解析,但编码时仍需自定义处理。428 收藏 -
lambda只能写单个表达式,不能写语句;它是匿名函数,不支持return、if、for等语句,仅自动返回表达式结果,常见错误是语法非法或误用条件分支。428 收藏