-
2026-01-21 19:48:08
- Python 为什么不鼓励滥用魔术方法?
- Python允许使用魔术方法,但反对滥用,因其损害可读性、可维护性并改变语言行为;它们是内置操作背后的协议接口,应仅在必要且符合直觉时实现,优先选用显式替代方案。
-
215
-
2026-01-21 19:54:56
- SQL 子查询返回多行时会发生什么?
- SQL子查询在标量上下文中返回多行会报错,应改用IN、EXISTS、聚合函数或LIMIT1等方法处理;其中IN适用于多值匹配,EXISTS更安全高效,聚合或LIMIT1需谨慎使用。
-
120
-
2026-01-21 20:01:02
- Python 锁是否真的会降低性能?
- 会,但只在特定条件下;锁本身开销极小,性能下降主因是线程竞争和阻塞等待,而非加解锁操作,CPython中Lock纳秒级且经futex优化,无竞争时影响微乎其微。
-
297
-
2026-01-21 20:08:00
- Python 如何正确实现一个 TCP 服务端?
- TCP服务端应使用with管理socket生命周期,捕获KeyboardInterrupt、OSError等异常,选择多线程或asyncio实现并发,循环处理recv/send以应对粘包与半包问题。
-
730
-
2026-01-21 20:16:02
-
2026-01-21 20:23:02
-
2026-01-21 20:29:15
- Python collections 模块的设计价值
- Pythoncollections模块的核心价值在于用极简接口补全内置容器的语义缺口:Counter、defaultdict、OrderedDict等精准表达意图,降低认知负荷;deque、namedtuple、ChainMap等解决高频痛点;并与语言演进协同演进。
-
549
-
2026-01-21 20:32:02
- SQL 中 WHERE 和 HAVING 的本质区别
- WHERE作用于行、HAVING作用于组:WHERE在GROUPBY前筛选原始行,只能用列不能用聚合函数;HAVING在GROUPBY后筛选分组结果,可使用聚合函数和分组字段;执行顺序为FROM→WHERE→GROUPBY→HAVING→SELECT→ORDERBY。
-
594
-
2026-01-21 20:33:08
- Python 中对象身份与对象值的区别
- 对象身份指内存唯一地址,用id()查看;对象值指数据内容,用==判断。is比较身份,仅适用于None等单例;==比较值,适用于大多数相等性判断,不应依赖小整数或字符串的缓存行为。
-
619
-
2026-01-21 20:41:02
- SQL 线上误删数据如何恢复?
- 线上误删数据能否恢复取决于数据库类型、备份策略和操作及时性;需结合binlog/WAL日志、全量备份与时间点恢复,并优先启用Flashback或软删除等预防机制。
-
417