-
2026-01-29 16:42:39
-
2026-01-29 16:46:02
-
2026-01-29 16:52:02
- Python lambda 表达式的适用边界
- lambda只能写单个表达式,不能包含语句;它只接受有返回值的表达式,不支持if、for、return、assert、赋值等语句,适用场景限于map/filter/sorted等高阶函数的轻量回调。
-
548
-
2026-01-29 16:53:27
- 如何让类属性成为只读描述符但允许 init 赋值
- @property在__init__中赋值报错是因为只读属性缺少__set__方法,触发AttributeError;解决方案是用自定义描述符配合初始化标记(如_initializing)实现构造期写入,或直接使用attrs/dataclasses的frozen=True。
-
111
-
2026-01-29 16:54:33
- Linux 系统资源突然耗尽的预警信号
- available接近0就该警觉——它才是真实可用内存,低于总内存10%(如8G机器长期≤800M)表明内核正频繁交换,响应延迟明显;dmesg中“Killedprocess”即OOM已发生,需查oom_score_adj和RSS定位真凶。
-
152
-
2026-01-29 17:02:02
- Python 魔术方法与面向对象设计的结合
- 真正影响对象生命周期的魔术方法是__new__、__enter__、__exit__和__del__;其中__enter__/__exit__是资源清理的可靠入口,__new__用于实例化前控制,__del__不保证执行时机。
-
390
-
2026-01-29 17:03:01
-
2026-01-29 17:06:01
- Python 异步代码中的异常传播机制
- async/await异常不会自动冒泡,必须await协程或用asyncio.run()驱动才会触发;未await的任务异常会静默丢失或仅记录日志;Task.exception()可安全获取异常,而task.result()会重抛;asyncio.run()不捕获子任务异常;CancelledError需显式处理以确保资源释放。
-
911
-
2026-01-29 17:07:39
-
2026-01-29 17:08:36
- Linux 负载高但 CPU 空闲的常见原因
- 负载高但CPU空闲是因为大量进程处于D状态(不可中断睡眠),它们不占CPU却计入loadaverage;主因是I/O阻塞(如慢盘、NFShard挂载、驱动异常)或内存直接回收。
-
183