-
__new__是最可靠的禁止实例化方式,因其在对象创建最早阶段介入,早于__init__且未分配内存,用TypeError拦截可彻底防止半成品对象产生,避免子类误禁需检查clsisYourClass,优于ABC抽象基类的接口约束目的。
-
Python异步任务取消需协程主动配合:调用Task.cancel()仅发取消请求,协程须在可取消挂起点响应CancelledError或定期检查cancelled();长循环应插入awaitasyncio.sleep(0)或显式判断;timeout控制取消边界,shield保护关键清理;CancelledError不可被Exception捕获,需显式处理以确保资源释放。
-
yagmail是专为Gmail设计的Python库,简化SMTP邮件发送。通过pipinstallyagmail安装后,可使用应用专用密码登录:yag=yagmail.SMTP('your_email@gmail.com','your_password'),调用send方法发送文本邮件。支持带附件、图片内联和HTML内容,contents可传字符串或列表,包含文件路径自动处理。可通过cc添加抄送。推荐使用yagmail.register()将密码保存至系统密钥环,避免明文泄露。适用于日志提醒、报表发送等自
-
列表推导式立即分配内存,list()包裹生成器仍会耗尽内存;真正省内存的是直接迭代生成器;嵌套推导式中if位置影响语义;复杂逻辑应改用普通循环。